首页 > 代码库 > 《Effective C#》读书笔记

《Effective C#》读书笔记

Effiective C# Item1 : 使用属性代替成员变量

Effective C# Item2:运行时常量(readonly)优于编译时常量(const)

Effective C# Item3:操作符as或is优于强制转换

Effective C# Item4:使用Conditional特性代替#if条件编译

Effective C# Item5:总是提供ToString()方法

Effective C# Item6:明辨值类型和引用类型的使用场合

Effective C# Item7:将值类型尽可能实现为具有常量性和原子性的类型

Effective C# Item8:确保0是值类型的有效状态

Effective C# Item9:理解几个相等判断之间的关系

Effective C# Item10:理解GetHashCode()方法的缺陷

Effective C# Item11:优先采用foreach循环语句

Effective C# Item12:变量初始化器优于赋值语句

Effective C# Item13:使用静态构造器初始化静态类成员

Effective C# Item14:利用构造器链

Effective C# Item15:利用using和try/finally语句来清理资源

Effective C# Item16:尽量减少内存垃圾

Effective C# Item17:尽量减少装箱和拆箱

Effective C# Item18:实现标准Dispose模式

Effective C# Item19:定义并实现接口优于继承类型

Effective C# Item20:明辨接口实现和虚方法重写

Effective C# Item21:使用委托表达回调

Effective C# Item22:使用事件定义外发接口

Effective C# Item23:避免返回内部类对象的引用

Effective C# Item24:声明式编程优于命令式编程

Effective C# Item25:尽可能将类型实现为可序列化的类型

Effective C# Item26:使用IComarable和IComparer接口实现排序关系

Effective C# Item27:避免ICloneable接口

Effective C# Item28:避免强制类型转换

Effective C# Item29:只有当新版基类导致问题时才考虑使用new修饰符

Effective C# :创建二进制组件

Effective C# Item30:尽可能实现CLS兼容的程序集

Effective C# Item31:尽可能实现短小简洁的方法

Effective C# Item32:尽可能实现小尺寸、高内聚的程序集

Effective C# Item33:限制类型的可见性

Effective C# Item34:创建大粒度的Web API

Effective C# Item35:重写优于事件处理器

Effective C# Item36:合理使用.NET运行时诊断

Effective C# Item37:使用标准配置机制

Effective C# Item38:定制和支持数据绑定

Effective C# Item39 : 使用.NET验证

Effective C# Item40 : 根据需要选用恰当的集合

Effective C# Item41 : DataSet优于自定义结构

Effective C# Item42:利用特性简化反射

Effective C# Item43 : 避免过度使用反射

Effective C# Item44:为应用程序创建特定的异常类

Effective C# Item45 : 优先选择强异常安全保证

Effective C# Item46:最小化互操作

Effective C# Item47:选择安全代码

 

《Effective C#》读书笔记