C#基础
小K的大师兄
这个作者很懒,什么都没留下…
展开
-
C#多线程编程(一)
1.C#支持通过多线程实现并行代码的执行。每一个线程就是一个独立的可执行程序,他可以独立的与其他线程同时执行。多线程编程就可以实现在一个应用程序中使多个任务并列执行。一、多线程编程:1.一个C#程序起始于一个由CLR和操作系统创建的单线程(Main线程),并且可以通过创建其他线程来实现多线程编程;2.一个线程被挂起或等待时,并不消耗CPU资源;3.一个进程可以理解为就是一个应用程序...原创 2013-11-24 23:12:06 · 1106 阅读 · 0 评论 -
类的使用总结
一、子类构造函数调用基类构造函数1.子类在通过构造函数初始化的时候会去调用基类的构造函数来初始化基类,即先初始化基类构造函数,在初始化子类构造函数;2.在子类的构造函数中不使用base关键字时,会去默认调用基类的默认构造函数,当基类中没有默认构造函数时,则会出现错误;3.如果子类构造数中使用了base关键字时,会根据base关键字中指定的参数个数去调用基类中对应的构造函数;二、抽象...原创 2013-12-03 13:02:48 · 616 阅读 · 0 评论 -
C#中成员初始化顺序
一、成员初始化整体顺序1.成员赋值初始化先于构造函数;2.成员赋值初始先从子类再到基类;3.构造函数初始化先从基类再到子类;4.静态成员初始化优先于实例成员初始化;二、对静态类型成员构造的大致过程1.分配静态成员的内存空间,此时空间存储数据为0;2.执行类的静态成员的初始化语句;3.执行类的静态构造函数。三、对实例类型成员构造的大致过程1.分配实例成员的内存...原创 2014-05-16 11:21:22 · 1690 阅读 · 0 评论 -
C#中的常见问题
一、“XXX“不是特性类问题描述:在对原创 2014-07-01 16:30:44 · 497 阅读 · 0 评论 -
匿名函数
一、简介1、匿名函数:原创 2014-05-27 12:29:49 · 458 阅读 · 0 评论 -
yield的用法
一、简介1.C# 1.0使用foreach语句可以轻松地迭代集合。在C# 1.0中,创建枚举器仍需要做大量的工作。C# 2.0添加了yield语句,以便于创建枚举器。原创 2014-05-27 13:29:35 · 737 阅读 · 0 评论 -
各种数据类型与C#数据类型对照关系
一、各种数据类型与C#数据类型对照关系转载 2014-06-27 16:36:52 · 808 阅读 · 0 评论 -
C#用Odbc、Oledb查询Excel和CSV
一、用Odbc、Oledb查询Excel和CSV1、原创 2014-07-17 18:07:18 · 7437 阅读 · 0 评论 -
Func,Action,Predicate的区别
一、介绍1.Func,Action,Predicate都是微软提供的定义好的委托类型,他们都位于System命名空间下,使用这几个委托可以简化代码的编写,比自定义委托使用起来更加方便;2.Func委托具有返回值,并且可以有0到16个参数;3.Action委托不具有返回值,可以有0到16个参数;4.表示定义一组条件并确定指定对象是否符合这些条件的方法,他具有一个bool类型的返回值,原创 2013-12-12 14:32:12 · 1697 阅读 · 0 评论 -
LINQ
一、Linq基础1.Linq(语言集成查询)可以理解为直接嵌入到C#语法中的强类型查询语言,使用Linq,可以在程序用构建与数据库SQL类似的查询表达式,Linq查询可以用于多种数据存储,甚至与关系型数据库完全无关的存储;2.Linq API的意图是提供一种统一且对称的方式,让程序员在广义的数据上得到和操作“数据”,他可以与许多数据类型交互;3.根据Linq查询应用的场景,可以分为以下原创 2013-12-16 12:43:05 · 1886 阅读 · 0 评论 -
扩展方法
一、基础简介1.扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型,例如当你想对string类型扩展一些新方法时,你又无法获得string类型的原始代码。这时,扩展方法就是一个很好的解决方案;2.扩展方法也适用于自己定义的类库;3.必须把扩展方法定义在静态类中,扩展方法也必须是静态方法;4.扩展方法的第一个参数都必须使用this关键字进...原创 2013-12-13 16:08:41 · 820 阅读 · 0 评论 -
Lambda表达式
一、简介1.Lambda表达式可以应用于任何匿名方法或者强类型委托可以应用的场合,可以将他看着是一种方法的简写形式(这样说并不准确,但可以这么理解);2.Lambda表达式的符号标记是“=>”,在“=>”右侧的是参数列表,左侧的是处理这些参数的语句;3.Lambda表达式的参数列表可以0个参数、1个参数或多个参数,多个参数之间用逗号隔开,参数列表中的参数可以隐式类型的,也可以是显式类型原创 2013-12-12 14:16:13 · 785 阅读 · 0 评论 -
Linq To XML
1、LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: 隐藏行号复制代码 ? 创建 XML public static void CreateDocument(){ string path = @"d:\website"; XDocument转载 2013-12-16 12:43:29 · 612 阅读 · 0 评论 -
接口
一、接口描述1.接口用来定义一种协定,实现接口的类或结构必须和接口严格一致。简单的说,接口就是一种模板,他定义了一些需要类或结构实现的成员。接口本身不实现他所定义的成员;2.接口可以包含方法、属性、事件、索引器(接口不能定义委托和字段,因为委托是一种新的类型,而不是新成员。接口是一种约定,不包括实现,而字段是一种实现细节。可以理解为接口只能包含方法,因为属性、事件、索引器其实都是方法,如属...原创 2013-12-04 10:07:25 · 776 阅读 · 0 评论 -
委托和事件
一、委托1.委托其本质是一个密封类,通俗易懂的理解就是委托可以将方法像参数一样进行自由传递(委托不可以定义在接口中),委托包含的只是方法的细节(也就是方法的签名);2.可以将委托当作类来理解,当使用类时,我们首先要定义一个类,再实例化一个类,即创建类的一个对象。同样,使用委托也需要经过这样的过程。定义委托就是告诉编译器该委托代表了哪种类型的方法(通过方法签名确定),然后创建该委托的一个或多...原创 2013-12-09 15:05:03 · 627 阅读 · 0 评论 -
Remoting实战(一)
.Net对于远程调用提供了两种方法:Remoting和WebService。WebService是一种标准,可以通用。对于Remoting不是标准应用,有平台限制。1.在Remoting中,远程对象是一个重要的概念。服务端通过将它注册到特定的信道中,客户端通过服务端公布的服务端注册的远程对象的URI,通过代理来使用它。在这种架构下服务端与客户端要实现相互之间的通讯一般是使用事件的方式进行。...原创 2013-11-14 19:19:18 · 810 阅读 · 0 评论