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:選擇安全代碼