01.
《Effective C#》Item 20:区分接口实现与虚函数重载本文的英文标题为“Distinguish Between Implementing Interfaces and Overriding Virtual Functions”,但是文章的内容主要涉及的是如何在多层继承中使用接口,因此觉得文章标题和内容有些不符(也许我水...查看完整版>>
《Effective C#》Item 20:区分接口实现与虚函数重载
02.
《Effective C#》Item 14:使用构造函数初始化语句在写程序的时候,往往会出现为一个类型提供不同场景的构造函数,可能大多构造函数比较相似,而C#中又不允许缺省参数,因此构造函数的编写无疑是一个重复工作。但是使用Copy和Paste来完成构造函数的编写,有时候很难达...查看完整版>>
《Effective C#》Item 14:使用构造函数初始化语句
03.
《Effective C#》Item 13:使用静态构造函数初始化静态成员编写程序的时候难免要使用到静态成员,由于静态成员的访问是脱离类型对象的,所以使用非静态构造函数,私有方法或者一些其他方法都是不合理的。.Net提供了成员初始化语句和静态构造函数来初始化静态成员。 根据上一个...查看完整版>>
《Effective C#》Item 13:使用静态构造函数初始化静态成员
04.
《Effective C#》Item 6:区分值类型和引用类型在C#中有两种类型的数据,一种是值类型数据,一种是引用类型数据。在编码的时候区分这两种类型数据,可以避免一些细小的编码错误。 首先说说什么类型是值类型,例如:int、float、bool之类的基础类型,以及用struct定...查看完整版>>
《Effective C#》Item 6:区分值类型和引用类型
05.
《Effective C#》Item 19:推荐在继承中使用接口.Net提供了接口,这个不同于Class或者Struct的类型定义。接口有些情况,看似和抽象类一样,因此有些人认为在.Net可以完全用接口来替换抽象类。其实不然,接口和抽象类各有长处和缺陷,因此往往在应用当中,两者要结合...查看完整版>>
《Effective C#》Item 19:推荐在继承中使用接口
06.
《Effective C#》Item 5:提供一个有意义的ToString函数在编写自定义类型的时候,即使我们不写ToString函数,系统也会自动提供ToString函数,例如: public class clsUserInfo { private string strUserName; …… } 不过系统所提供To...查看完整版>>
《Effective C#》Item 5:提供一个有意义的ToString函数
07.
《Effective C#》Item 21:用委托实现回调委托属于C#中的新名词,它的应用也非常广泛,例如事件就是委托最简单而又直接的例子。 那么首先说说什么是委托,其实委托在用过C或者C++的人看来就是函数指针,不过使用C#的大多数人都没有用过这两门语言,因此对委托...查看完整版>>
《Effective C#》Item 21:用委托实现回调
08.
《Effective C#》Item 2:定义常量的两种方法在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant)。前者用“const”来定义,后者用“readonly”来定义。 对于静态常量(Compi...查看完整版>>
《Effective C#》Item 2:定义常量的两种方法
09.
《Effective C#》Item 1:用属性来访问类的私有成员在程序中,难免要访问某个对象的私有成员。那么以前实现这类功能的方法有两种,第一种方法最简单,就是把成员访问符从“private”改为“public”即可;而另一个就是提供公有的成员访问函数来进行...查看完整版>>
《Effective C#》Item 1:用属性来访问类的私有成员
10.
《Effective C#》Item 8:确保“0”在值类型中是有效的大家在看了这标题后,肯定会觉的,为什么要确保“0”是有效的,这一点主要是跟值类型的内存分配有关,值类型有默认的构造函数,这是没法避免的,因此值类型变量中的成员在初始化的时候所出现的细微问题(对...查看完整版>>
《Effective C#》Item 8:确保“0”在值类型中是有效的
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。