Effective C#: 50 Specific Ways to Improve Your C# (Paperback)
暫譯: 有效的 C#: 提升 C# 的 50 種具體方法 (平裝本)
Bill Wagner
- 出版商: Addison Wesley
- 出版日期: 2004-12-03
- 售價: $2,370
- 貴賓價: 9.5 折 $2,252
- 語言: 英文
- 頁數: 336
- 裝訂: Paperback
- ISBN: 0321245660
- ISBN-13: 9780321245663
-
相關分類:
C#
已過版
買這商品的人也買了...
-
$2,500$2,375 -
$980$774 -
$970Introduction to Algorithms, 2/e
-
$860$568 -
$1,176Database Management Systems, 3/e (IE-Paperback)
-
$590$466 -
$750$638 -
$560$476 -
$980$399 -
$480$379 -
$490$382 -
$990$782 -
$350$277 -
$890$703 -
$650$553 -
$650$507 -
$460$363 -
$880$748 -
$880$695 -
$880$695 -
$540$427 -
$780$663 -
$650$507 -
$1,100$1,078 -
$299$254
相關主題
商品描述
Table of Contents:
Introduction.
1. C# Language Elements.
Item 1 - Always Use Properties Instead of Accessible Data Members.
Item 2 - Prefer readonly to const.
Item 3 - Prefer the is or as Operators to Casts.
Item 4 - Use Conditional Attributes Instead of #if.
Item 5 - Always Provide ToString().
Item 6 - Distinguish Between Value Types and Reference Types.
Item 7 - Prefer Immutable Atomic Value Types.
Item 8 - Ensure That 0 Is a Valid State for Value Types.
Item 9 - Understand the Relationships Among ReferenceEquals(),static Equals(), instance Equals(), and operator==.
Item 10 - Understand the Pitfalls of GetHashCode().
Item 11 - Prefer foreach Loops.
2. .NET Resource Management.
Item 12 - Prefer Variable Initializers to Assignment Statements.
Item 13 - Initialize Static Class Members with Static Constructors.
Item 14 - Utilize Constructor Chaining.
Item 15 - Utilize using and try/finally for Resource Cleanup.
Item 16 - Minimize Garbage.
Item 17 - Minimize Boxing and Unboxing.
Item 18 - Implement the Standard Dispose Pattern.
3. Expressing Designs with C#.
Item 19 - Prefer Defining and Implementing Interfaces to Inheritance.
Item 20 - Distinguish Between Implementing Interfaces and Overriding Virtual Functions.
Item 21 - Express Callbacks with Delegates.
Item 22 - Define Outgoing Interfaces with Events.
Item 23 - Avoid Returning References to Internal Class Objects.
Item 24 - Prefer Declarative to Imperative Programming.
Item 25 - Prefer Serializable Types.
Item 26 - Implement Ordering Relations with IComparable and Icomparer.
Item 27 - Avoid Icloneable.
Item 28 - Avoid Conversion Operators.
Item 29 - Use the new Modifier Only When Base Class Updates Mandate It.
4. Creating Binary Components.
Item 30 - Prefer CLS-Compliant Assemblies.
Item 31 - Prefer Small, Simple Functions.
Item 32 - Prefer Smaller, Cohesive Assemblies.
Item 33 - Limit Visibility of Your Types.
Item 34 - Create Large-Grain Web APIs.
5. Working with the Framework.
Item 35 - Prefer Overrides to Event Handlers.
Item 36 - Leverage .NET Runtime Diagnostics.
Item 37 - Use the Standard Configuration Mechanism.
Item 38 - Utilize and Support Data Binding.
Item 39 - Use .NET Validation.
Item 40 - Match Your Collection to Your Needs.
Item 41 - Prefer DataSets to Custom Structures.
Item 42 - Utilize Attributes to Simplify Reflection.
Item 43 - Don't Overuse Reflection.
Item 44 - Create Complete Application-Specific Exception Classes.
6. Miscellaneous.
Item 45 - Prefer the Strong Exception Guarantee.
Item 46 - Minimize Interop.
Item 47 - Prefer Safe Code.
Item 48 - Learn About Tools and Resources.
Item 49 - Prepare for C# 2.0.
Item 50 - Learn About the ECMA Standard.
Index.
商品描述(中文翻譯)
目錄:
引言。
1. C# 語言元素。
- 項目 1 - 始終使用屬性而不是可訪問的數據成員。
- 項目 2 - 優先使用 readonly 而非 const。
- 項目 3 - 優先使用 is 或 as 運算子而非類型轉換。
- 項目 4 - 使用條件屬性而不是 #if。
- 項目 5 - 始終提供 ToString()。
- 項目 6 - 區分值類型和引用類型。
- 項目 7 - 優先使用不可變的原子值類型。
- 項目 8 - 確保 0 是值類型的有效狀態。
- 項目 9 - 理解 ReferenceEquals()、static Equals()、instance Equals() 和 operator== 之間的關係。
- 項目 10 - 理解 GetHashCode() 的陷阱。
- 項目 11 - 優先使用 foreach 迴圈。
2. .NET 資源管理。
- 項目 12 - 優先使用變數初始化器而非賦值語句。
- 項目 13 - 使用靜態建構函數初始化靜態類成員。
- 項目 14 - 利用建構函數鏈接。
- 項目 15 - 使用 using 和 try/finally 進行資源清理。
- 項目 16 - 最小化垃圾。
- 項目 17 - 最小化裝箱和拆箱。
- 項目 18 - 實現標準的 Dispose 模式。
3. 使用 C# 表達設計。
- 項目 19 - 優先定義和實現介面而非繼承。
- 項目 20 - 區分實現介面和覆寫虛擬函數。
- 項目 21 - 使用委派表達回調。
- 項目 22 - 使用事件定義外部介面。
- 項目 23 - 避免返回對內部類對象的引用。
- 項目 24 - 優先使用聲明式編程而非命令式編程。
- 項目 25 - 優先使用可序列化類型。
- 項目 26 - 使用 IComparable 和 IComparer 實現排序關係。
- 項目 27 - 避免 ICloneable。
- 項目 28 - 避免轉換運算子。
- 項目 29 - 僅在基類更新要求時使用 new 修飾符。
4. 創建二進位組件。
- 項目 30 - 優先使用 CLS 相容的組件。
- 項目 31 - 優先使用小而簡單的函數。
- 項目 32 - 優先使用小而凝聚的組件。
- 項目 33 - 限制類型的可見性。
- 項目 34 - 創建大粒度的 Web API。
5. 與框架合作。
- 項目 35 - 優先使用覆寫而非事件處理器。
- 項目 36 - 利用 .NET 執行時診斷。
- 項目 37 - 使用標準配置機制。
- 項目 38 - 利用並支持數據綁定。
- 項目 39 - 使用 .NET 驗證。
- 項目 40 - 根據需求匹配您的集合。
- 項目 41 - 優先使用 DataSet 而非自定義結構。
- 項目 42 - 利用屬性簡化反射。
- 項目 43 - 不要過度使用反射。
- 項目 44 - 創建完整的應用程序特定異常類。
6. 其他。
- 項目 45 - 優先使用強異常保證。
- 項目 46 - 最小化互操作性。
- 項目 47 - 優先使用安全代碼。
- 項目 48 - 了解工具和資源。
- 項目 49 - 為 C# 2.0 做準備。
- 項目 50 - 了解 ECMA 標準。
索引。