c#常用知识
赫曦
这个作者很懒,什么都没留下…
展开
-
c#事件和委托的定义和使用
委托和事件的使用例子原创 2014-10-06 23:31:42 · 650 阅读 · 0 评论 -
LINQ(四)查询类型、查询语法与查询方法
LINQ 查询操作中的类型关系本章介绍了三种查询类型。不转换源数据的查询下图演示不对数据执行转换的 LINQ to Objects 查询操作。 源包含一个字符串序列,查询输出也是一个字符串序列。1. 数据源的类型参数决定范围变量的类型。2. 选择的对象的类型决定查询变量的类型。 此处的 name 为一个字符串。 因此,查询变量是一个IEnumerable字符原创 2014-10-18 22:07:29 · 773 阅读 · 0 评论 -
LINQ(二)基本 LINQ 查询操作
获取数据源在 LINQ 查询中,第一步是指定数据源。 像在大多数编程语言中一样,在 C#中,必须先声明变量,才能使用它。 在 LINQ查询中,最先使用 from 子句的目的是引入数据源 (customers)和范围变量 (cust)。C# //queryAllCustomers is an IEnumerablevar queryAllCustomers = fro原创 2014-10-18 12:27:40 · 566 阅读 · 0 评论 -
LINQ(五)演练
演练:用 C# 编写查询 (LINQ)创建C# 项目创建项目1. 启动 VisualStudio。2. 在菜单栏上,选择“文件”,“新建、“项目”。将打开“新建项目”对话框。3. 外接 已安装,展开 模板,展开 Visual C#,然后选择 控制台应用程序。4. 在 名称 文本框中,输入一个不同的名称或接受默认名称,然后选择 确定 按钮。原创 2014-10-18 22:13:40 · 444 阅读 · 0 评论 -
LINQ(一)查询简介
语言集成查询 (LINQ) 是一组技术的名称,这些技术建立在将查询功能直接集成到 C# 语言(以及 Visual Basic 和可能的任何其他 .NET 语言)的基础上。 借助于 LINQ,查询现在已是高级语言构造,就如同类、方法、事件等等。对于编写查询的开发人员来说,LINQ 最明显的“语言集成”部分是查询表达式。 查询表达式是使用 C# 3.0 中引入的声明性查询语法编写的。 通过使用原创 2014-10-18 11:39:26 · 464 阅读 · 0 评论 -
.NET Attribute的自描述机制
http://blog.csdn.net/liaoxiaoli99/article/details/6165136() Attribute是C#的自描述的基类,用于对appliction element进行描述,比如程序集,类,方法,字段,属性等等。他它与正常定义的类不同,它是在编译时实例化的,普通的类是在运行时实例化。Attribute的派生类也可以应用AttributeUsa转载 2014-11-03 22:54:29 · 586 阅读 · 1 评论 -
匿名方法——.net2.0新特性
http://www.cnblogs.com/kid-li/archive/2006/12/12/589455.html在原来的C#版本中我们是这样定义Event:this.Button1.Click += new EventHandler(Button1_Click)private void Button1_Click(object sender,EventArgs e){转载 2014-10-16 22:26:50 · 661 阅读 · 0 评论 -
c#中class和struct的区别
C#中Struct与Class的区别1,class 是引用类型,structs是值类型既然class是引用类型,class可以设为null。但是我们不能将struct设为null,因为它是值类型。struct AStruct{ int aField;}class AClass{ int aField;}class MainCl转载 2014-10-05 20:39:18 · 441 阅读 · 0 评论 -
线程(七)信号量 Semaphore
-------------------------------------------------------------------------------------------------读后感:非常感谢这篇博文的作者,介绍的非常深刻,比很多书上的深入的多。篇幅也很长,自己反复读了几遍,现在写下对文中提到概念的理解,以及重新梳理一下重点内容。因为它们同继承于WaitHandle。转载 2014-10-30 21:54:58 · 535 阅读 · 0 评论 -
线程(二)Thread类
使用thread类可以创建和控制线程,设置其优先级并获取状态。1开启一个最简单的线程首先声明一个thread实例,再启动线程,如下:usingSystem;usingSystem.Threading; classTest{ static void Main() { Thread newThread =原创 2014-10-20 22:36:50 · 608 阅读 · 1 评论 -
线程(六)EventWaitHandle
文章原始出处 http://xxinside.blogbus.com/logs/47523285.html预备知识:C#线程同步(1)-临界区&Lock,C#线程同步(2)-临界区&Monitor,C#线程同步(3)-互斥量 MutexWaitHandle一家 在前一篇我们已经提到过Mutex和本篇的主角们直接或间接继承自WaitHandle:Mutex类,这个我转载 2014-10-28 21:10:43 · 1600 阅读 · 0 评论 -
线程(五)mutex
文章原始出处 http://xxinside.blogbus.com/logs/47162540.html什么是Mutex “mutex”是术语“互相排斥(mutually exclusive)”的简写形式,也就是互斥量。互斥量跟临界区中提到的Monitor很相似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问转载 2014-10-26 20:53:36 · 917 阅读 · 0 评论 -
LINQ(三)使用 LINQ 进行数据转换
本文内容包括:将多个输入联接到一个输出序列;选择各个源元素的子集组成新对象;将内存中的对象转换为 XML;对源元素执行操作即进行运算后返回新对象。将多个输入联接到一个输出序列可以使用 LINQ 查询来创建包含多个输入序列的元素的输出序列。 下面的示例演示如何组合两个内存中的数据结构,但组合来自 XML或 SQL 或数据集源的数据时可应用相同的原则。 假定下面两种类类型:C#原创 2014-10-18 18:05:54 · 476 阅读 · 0 评论 -
线程(一)概述
线程是程序中独立的指令流原创 2014-10-19 11:12:52 · 556 阅读 · 1 评论 -
C#委托与事件的本质区别
http://www.cnblogs.com/zche/archive/2012/09/10/2678419.html 从定义上说,委托被编译器编译成一个类,所以它可以像类一样在任何地方定义,而事件被编译成一个委托类型的私有字段和两个公有add 和 remove 方法(有点类似于属性的定义)不过这两个方法都有一个参数,这个参数就是委托,所以,它只能定义在一个类里面。转载 2016-04-14 15:16:28 · 1134 阅读 · 0 评论 -
C#位运算讲解与示例
http://www.cnblogs.com/zgqys1980/archive/2010/05/31/1748404.html今天在项目中遇到按位或组合权限串的问题:首先每一个权限数都是2的N次方数如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ...转载 2017-05-19 09:48:08 · 446 阅读 · 0 评论 -
Winform程序运行结构图
http://www.jb51.net/article/33260.htm转载 2017-04-11 16:03:20 · 1998 阅读 · 0 评论 -
windows service初探
详细项目创建过程,参照以下链接,在此就不具体copy文字了:http://www.cnblogs.com/sorex/archive/2012/05/16/2502001.html根据上面链接中文章的步骤,vs新建一个windows service,在OnStart方法下写业务逻辑即可。右击设计器界面,点击“添加安装程序”按钮,按照文章中的步骤对Service属性进行命名。本文原创 2017-03-28 14:26:36 · 641 阅读 · 0 评论 -
C#.NET 消息机制
http://blog.csdn.net/fan158/article/details/6178392一、消息概述 众人周知,window系统是一个消息驱动的系统, windows操作系统本身有自己的消息队列,消息循环,它捕捉键盘,鼠标的动作生成消息,并将这个消息传给应用程序的消息队列。 余下的工作有应用程序处理消息, windows 消息机制在这儿就不再讲述,我转载 2016-05-23 17:18:22 · 978 阅读 · 0 评论 -
lambda表达式——.net3.5新特性
以下是微软官方解释:Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数。 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数。 Lambda 表达式对于编写 LINQ 查询表达式特别有用。若要创建 Lambda 表达式,需要在 Lambda 运算符 => 左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块。 例如,la转载 2014-10-16 22:36:20 · 1496 阅读 · 1 评论 -
c#编写部署windows服务
什么是windows服务 Windows服务,微软的官方定义是这样的:Microsoft Windows服务(即以前的 NT 服务)使您能够创建在它们自己的 Windows会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停、禁用和重新启动而且不显示任何用户界面。查找服务 Window开始-搜索栏输入“服务”-即可找到服务原创 2015-12-20 19:54:51 · 2632 阅读 · 0 评论 -
c#导出(一) 到txt
http://blog.csdn.net/nd200642/article/details/3733072 /// ///导出到txt /// /// /// private void tsExportToTxt_Click(object sender, EventA转载 2015-10-01 15:01:55 · 703 阅读 · 0 评论 -
委托(二)多播委托
http://blog.sina.com.cn/s/blog_4b989964010008ev.html6.2.3 多播委托前面使用的每个委托都只包含一个方法调用。调用委托的次数与调用方法的次数相同。如果要调用多个方法,就需要多次显式调用这个委托。委托也可以包含多个方法。这种委托称为多播委托。如果调用多播委托,就可以按顺序连续调用多个方法。为此,委托的签名就必须返回void(否则,返回值转载 2014-10-07 21:42:28 · 579 阅读 · 0 评论 -
委托(三)
1.什么是委托,为什么要使用委托我正在埋头苦写程序,突然想喝水,但是又不想自己去掉杯水而打断自己的思路,于是我就想让女朋友去给我倒水。她去给我倒水,首先我得让她知道我想让她干什么,通知她之后我可以继续写自己的程序,而倒水的工作就交给了她。这样的过程就相当于一个委托。在程序过程中,当程序正在处理某个事件的时候,我需要另外的程序代码去辅助处理一些事情,于是委托另一个程序模块去处理,而委转载 2014-12-28 15:35:09 · 432 阅读 · 1 评论 -
委托(一)C# 中委托的发展
在 C# 1.0 中,您通过使用在代码中其他位置定义的方法显式初始化委托来创建委托的实例。 C# 2.0 引入了匿名方法的概念,作为一种编写可在委托调用中执行的未命名内联语句块的方式。 C# 3.0 引入了 Lambda 表达式,这种表达式与匿名方法的概念类似,但更具表现力并且更简练。 这两个功能统称为“匿名函数”。 通常,针对 .NET Framework 版本 3.5 及更高版本的应用程序原创 2014-10-17 21:41:31 · 540 阅读 · 0 评论 -
virtual方法和abstract方法的区别
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。一、Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用转载 2014-10-07 20:37:35 · 426 阅读 · 0 评论 -
线程(三)临界区&LOCK
自己的SyncRoot还是上面提过的老话,靠自己,以不变应万变:public class MySynchronizedList{ private readonly object syncRoot = new object(); private readonly List(); public object SyncRoot { get{return th转载 2014-10-25 19:12:52 · 669 阅读 · 0 评论 -
C#打印相关知识
http://www.byywee.com/page/M0/S543/543762.html转载 2014-06-21 17:18:35 · 717 阅读 · 0 评论 -
WCFdemo
http://blog.csdn.net/mane_yao/article/details/5852845WCF的ABC:A代表Address-where(对象在哪里)B代表Binding-how(通过什么协议取得对象)C代表Contact(契约)-what(定义的对象是什么,如何操纵)服务端 1.创建一个空的解决方案:WCFDemo:转载 2014-07-05 21:30:42 · 371 阅读 · 0 评论 -
线程间的通信
线程间的通信1.线程之间的通信简介一般而言,在一个应用程序中(即进程),一个线程往往不是孤立存在的,常常需要和其它线程通信,以执行特定的任务。如主线程和次线程,次线程与次线程,工作线程和用户界面线程等。这样,线程与线程间必定有一个信息传递的渠道。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的。线程间的通信涉及到4个问题: (1) 线程间如何传递转载 2014-07-17 16:49:05 · 515 阅读 · 0 评论 -
较全的正则表达式
导入 using System.Text.RegularExpressions;string text = @"^[\u4E00-\u9FFF]+$";bool result = Regex.IsMatch(name,text);if (result){MessageBox.show("不能包含汉字!");return;} [\u4E00-\转载 2014-07-20 09:18:29 · 396 阅读 · 0 评论 -
windows程序消息机制(Winform界面更新有关)
http://www.cnblogs.com/blosaa/archive/2013/05/31/3109586.html这篇博文很精彩。转载 2014-07-23 13:59:24 · 808 阅读 · 0 评论 -
C#反射教程(2)
http://www.cnblogs.com/cpcpc/archive/2011/01/27/2123072.html解析 反射技术在运行时可以获取程序集中每个类型的成员,包括字段、方法、属性、事件等,并进一步获取这些成员的详细信息。反射技术还可以动态载入外部程序集(私有程序集或共享程序集),获取程序集中类型的相关数据。有意思的是从外部动态载入的程序集还可通过晚期绑转载 2014-07-24 14:42:16 · 461 阅读 · 1 评论 -
C#中堆和栈的区别分析
http://www.2cto.com/kf/201109/103302.html转载 2014-07-24 22:15:56 · 365 阅读 · 0 评论 -
进程间通信与线程间通信简单总结
http://blog.csdn.net/cneaglelee/article/details/7943021 以前一直想找个机会总结一下进程和线程的通信机制,但由于技术和平台的局限性,一直没有找准切入点。由于马上要毕业了,对自己技术的总结和梳理的前提下写了本篇文章,如有错误之处,敬请拍砖和指教。 操作系统的主要任务是管理计算机的软件、硬件资源。现代操作转载 2014-07-24 22:16:14 · 483 阅读 · 0 评论 -
c# 无法加载DLL找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
刚刚遇到这个错误,dll是非托管代码xie的,原创 2014-07-31 15:54:49 · 10018 阅读 · 0 评论 -
ODBC, OLEDB, ADO, ADO.Net的演化简史
Copy&Paste了一下午,终于一蹴而就此文,嘿嘿...1.演变历史它们是按照这个时间先后的顺序逐步出现的,史前->ODBC->OLEDB->ADO->ADO.Net。看看Wiki上的MDAC定义:“Microsoft Data Access Components(MDAC)是微软专门为数据访问功能而发展的应用程序开发接口,做为微软的统一化数据访问(Universal转载 2014-08-11 17:54:26 · 528 阅读 · 0 评论 -
C#中反射的应用小结
http://www.cnblogs.com/zzyyll2/archive/2007/10/23/934016.html转载 2014-08-14 11:47:54 · 370 阅读 · 0 评论 -
C#打印
http://www.byywee.com/page/M0/S543/543762.htmlC#打印(PrintDocument、PrintDialog、PageSetupDialog、PrintPreviewD...Admin2011年5月31日名人名言:理想并不是一种空虚的东西,也并不玄奇,它既非幻想,更非野心,而是一种追求真美的意识。——莎菲德拉 这几转载 2014-06-24 09:37:15 · 1506 阅读 · 2 评论 -
C# 打开一个新进程
http://blog.163.com/wangzhenguo2005@126/blog/static/371405262009101891956334/转载 2014-06-21 20:11:29 · 3327 阅读 · 0 评论