原味精品书系EFFECTIVE C#(第3版):编写高质量C#代码的50条有效方法(英文版)

本书特色

[

本书的作者,也是.NET专家Bill Wanger给出我们50条利用C#优点以及特性来写出健壮的,高效的,易于维护的代码的高效法则。同时,本书也反映出了C#语言愈发高级的特性以及关于它的开发社区。本书同时也给出了大量新颖的方法让你能够写出高效可靠的代码。*的第三版囊括了一些泛型和一些其他的语言集成查询(LINQ),还包括了对异常高级实践这一新的章节。

]

内容简介

[

本书的作者,也是.NET专家Bill Wanger给出我们50条利用C#优点以及特性来写出健壮的,高效的,易于维护的代码的高效法则。同时,本书也反映出了C#语言愈发不错的特性以及关于它的开发社区。本书同时也给出了大量新颖的方法让你能够写出高效可靠的代码。近期新的第三版囊括了一些泛型和一些其他的语言集成查询(LINQ),还包括了对异常不错实践这一新的章节。

]

作者简介

[

Bill Wagner是世界上最著名的C#开发者之一,是ECMA C#标准委员会的成员。他是Humanitarian Toolbox的主席,连续11年被授予Mcrosoft Regional Director和.NET MVP荣誉称号,最近刚刚被委派到.NET基础顾问理事会任职。
影印版,无译者……………

]

目录

Chapter 1 C# Language Idioms ………………………………………………………… 1Item 1: Prefer Implicitly Typed Local Variables ………………………………………………….. 1Item 2: Prefer readonly to const …………………………………………………………………………. 7Item 3: Prefer the is or as Operators to Casts ……………………………………………………… 12Item 4: Replace string.Format() with Interpolated Strings ……………………………………. 19Item 5: Prefer FormattableString for Culture-Specific Strings ……………………………… 23Item 6: Avoid String-ly Typed APIs …………………………………………………………………. 26Item 7: Express Callbacks with Delegates …………………………………………………………. 28Item 8: Use the Null Conditional Operator for Event Invocations …………………………. 31Item 9: Minimize Boxing and Unboxing …………………………………………………………… 34Item 10: Use the new Modifier Only to React to Base Class Updates ……………………. 38Chapter 2 .NET Resource Management ………………………………………….. 43Item 11: Understand .NET Resource Management ……………………………………………… 43Item 12: Prefer Member Initializers to Assignment Statements …………………………….. 48Item 13: Use Proper Initialization for Static Class Members ………………………………… 51Item 14: Minimize Duplicate Initialization Logic ……………………………………………….. 53Item 15: Avoid Creating Unnecessary Objects …………………………………………………… 61Item 16: Never Call Virtual Functions in Constructors ………………………………………… 65Item 17: Implement the Standard Dispose Pattern ………………………………………………. 68Chapter 3 Working with Generics ………………………………………………….. 77Item 18: Always Define Constraints That Are Minimal and Sufficient ………………….. 79Item 19: Specialize Generic Algorithms Using Runtime Type Checking ……………….. 85Item 20: Implement Ordering Relations with IComparable<T> and IComparer<T> .. 92Item 21: Always Create Generic Classes That Support Disposable Type Parameters . 98Item 22: Support Generic Covariance and Contravariance …………………………………. 101Item 23: Use Delegates to Define Method Constraints on Type Parameters …………. 107Item 24: Do Not Create Generic Specialization on Base Classes or Interfaces ………. 112Item 25: Prefer Generic Methods Unless Type Parameters Are Instance Fields ……. 116Item 26: Implement Classic Interfaces in Addition to Generic Interfaces …………….. 120Item 27: Augment Minimal Interface Contracts with Extension Methods ……………. 126Item 28: Consider Enhancing Constructed Types with Extension Methods ………….. 130Chapter 4 Working with LINQ …………………………………………………….. 133Item 29: Prefer Iterator Methods to Returning Collections …………………………………. 133Item 30: Prefer Query Syntax to Loops ……………………………………………………………. 139Item 31: Create Composable APIs for Sequences ……………………………………………… 144Item 32: Decouple Iterations from Actions, Predicates, and Functions ………………… 151Item 33: Generate Sequence Items as Requested ………………………………………………. 154Item 34: Loosen Coupling by Using Function Parameters………………………………….. 157Item 35: Never Overload Extension Methods …………………………………………………… 163Item 36: Understand How Query Expressions Map to Method Calls …………………… 167Item 37: Prefer Lazy Evaluation to Eager Evaluation in Queries ………………………… 179Item 38: Prefer Lambda Expressions to Methods ……………………………………………… 184Item 39: Avoid Throwing Exceptions in Functions and Actions …………………………. 188Item 40: Distinguish Early from Deferred Execution ………………………………………… 191Item 41: Avoid Capturing Expensive Resources ……………………………………………….. 195Item 42: Distinguish between IEnumerable and IQueryable Data Sources …………… 208Item 43: Use Single() and First() to Enforce Semantic Expectations on Queries …… 212Item 44: Avoid Modifying Bound Variables …………………………………………………….. 215Chapter 5 Exception Practices ………………………………………………………. 221Item 45: Use Exceptions to Report Method Contract Failures …………………………….. 221Item 46: Utilize using and try/finally for Resource Cleanup……………………………….. 225Item 47: Create Complete Application-Specific Exception Classes …………………….. 232Item 48: Prefer the Strong Exception Guarantee ……………………………………………….. 237Item 49: Prefer Exception Filters to catch and re-throw …………………………………….. 245Item 50: Leverage Side Effects in Exception Filters ………………………………………….. 249Index ……………………………………………………………………………………………. 253

封面

原味精品书系EFFECTIVE C#(第3版):编写高质量C#代码的50条有效方法(英文版)

书名:原味精品书系EFFECTIVE C#(第3版):编写高质量C#代码的50条有效方法(英文版)

作者:(美)Bill Wagner(比尔·瓦格

页数:284

定价:¥89.0

出版社:电子工业出版社

出版日期:2017-06-01

ISBN:9787121342653

PDF电子书大小:138MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注