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# Item15:利用using和try/finally語句來清理資源
Effective C# Item18:實現標準Dispose模式
Effective C# Item19:定義並實現介面優於繼承型別
Effective C# Item20:明辨介面實現和虛方法重寫
Effective C# Item22:使用事件定義外發介面
Effective C# Item23:避免返回內部類物件的引用
Effective C# Item24:宣告式程式設計優於指令式程式設計
Effective C# Item25:儘可能將型別實現為可序列化的型別
Effective C# Item26:使用IComarable和IComparer介面實現排序關係
Effective C# Item27:避免ICloneable介面
Effective C# Item29:只有當新版基類導致問題時才考慮使用new修飾符
Effective C# Item30:儘可能實現CLS相容的程式集
Effective C# Item31:儘可能實現短小簡潔的方法
Effective C# Item32:儘可能實現小尺寸、高內聚的程式集
Effective C# Item34:建立大粒度的Web API
Effective C# Item36:合理使用.NET執行時診斷
Effective C# Item39 : 使用.NET驗證
Effective C# Item40 : 根據需要選用恰當的集合
Effective C# Item41 : DataSet優於自定義結構
Effective C# Item43 : 避免過度使用反射
Effective C# Item44:為應用程式建立特定的異常類
Effective C# Item45 : 優先選擇強異常安全保證