C#
文章平均质量分 75
xiaodiao062
这个作者很懒,什么都没留下…
展开
-
关于C#静态构造函数的几点说明
静态构造函数是C#的一个新特性,其实好像很少用到。不过当我们想初始化一些静态变量的时候就需要用到它了。这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用。 class SimpleClass{ // Static constructor static SimpleCl转载 2014-07-17 11:14:04 · 477 阅读 · 0 评论 -
c# 中内部类的简单介绍
最近在看java一方面的书籍,看到一个很奇怪的问题,java类中还可以再定义一个类,这种结构非常特殊!后来才发现我知识浅薄了,原来C#中也有内部类,之前都一直没有注意过这个语法结构!使用内部类有这样几个好处: (1)抽象外部类的某一状态下的行为,隐藏实现,通过修改该内的访问修饰符,可以设置仅有外部类可以访问该类(2)扩展了命名空间,可以将外部类的类名作为内部类的一个命名空间转载 2014-05-29 16:33:50 · 712 阅读 · 0 评论 -
C#委托的介绍(delegate、Action、Func、predicate)
C#委托的介绍(delegate、Action、Func、predicate) 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。转载 2014-05-29 16:11:04 · 624 阅读 · 0 评论 -
C#泛型详解
我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。读完本篇文章,你会对泛型有更深的了解。为什么要使用泛型为了了解这个问题,我们先看转载 2014-05-29 15:29:07 · 610 阅读 · 0 评论 -
[Serializable]关键字
[Serializable]关键字是指序列化的Attribute,是为了利用序列化的技术准备用于序列化的对象必须设置 [System.Serializable] 标签,该标签指示一个类可以序列化。便于在网络中传输和保存 所谓的序列化就是是将对象转换为容易传输的格式的过程,一般情况下转化打流文件,放入内存或者IO文件 中。例如,可以序列化一个对象,然后使用 HTT转载 2014-07-02 16:25:50 · 632 阅读 · 0 评论 -
C# where用法
where 子句用于指定类型约束,这些约束可以作为泛型声明中定义的类型参数的变量。 1.接口约束。 例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就可以实现 IComparable 接口:public class MyGenericClass where T:IComparable { } 2.基类约束:指出某个类型必须将指定的类作为基转载 2014-07-21 11:35:30 · 657 阅读 · 0 评论 -
C#-简单工厂模式
一、简单工厂(Simple Factory)模式Simple Factory模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。Simple Factory模式实际上不是GoF 23个设计模式中的一员。二、Simple Factory模式角色与结构:工厂类角色Creator (LightSimpleFacto转载 2014-06-10 16:48:04 · 595 阅读 · 0 评论 -
C#-工厂方法模式
工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不接触哪一个产品类转载 2014-06-10 17:30:15 · 477 阅读 · 0 评论 -
C#中var关键字
var关键字是C# 3.0开始新增的特性,称为推断类型 .可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。上面的资料有点抽象不好理解.示例:原来我们定义变量,是要这样:数据类型 变量名 = 值;如:转载 2014-07-21 14:01:11 · 455 阅读 · 0 评论 -
C#中的partial class(部分类)
C#中的partial class(部分类) C# 2.0 可以将类、结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可。例如:下面的PartialTest类class PartialTest{string Str_FieldTest;int Int_FieldTest;public void DoTest(){Debug.转载 2014-07-18 10:39:49 · 970 阅读 · 0 评论 -
C#中双问号(??)在检测Null方面的带来的方便
C#中双问号(??)在检测Null方面的带来的方便最近接到一个维护项目,发现里面超多BUG,基本都是NullReferenceException突然想起C#中有个双问号(??)的单元运算符,用于解决这个问题实在是方便的很。 首先,既然双问号(??)是一个单元运算符,那么其左右两边数据类型必须是相同类型或能隐形转换类型的。它表示的意思是,首先检测左边的值,若其为Null,那么转载 2014-05-30 14:22:47 · 716 阅读 · 0 评论