图书介绍
More Effective C# 改善C#程序的50个具体办法 英文版pdf电子书版本下载
- BillWagner编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115215109
- 出版时间:2009
- 标注页数:297页
- 文件大小:11MB
- 文件页数:306页
- 主题词:C语言-程序设计-英文
PDF下载
下载说明
More Effective C# 改善C#程序的50个具体办法 英文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Chapter 1 Working with Generics 1
Item 1:Use Generic Replacements of 1.x Framework API Classes 4
Item 2:Define Constraints That Are Minimal and Sufficient 14
Item 3:Specialize Generic Algorithms Using Runtime Type Checking 19
Item 4:Use Generics to Force Compile-Time Type Inference 26
Item 5:Ensure That Your Generic Classes Support Disposable Type Parameters 32
Item 6:Use Delegates to Define Method Constraints on Type Parameters 36
Item 7:Do Not Create Generic Specialization on Base Classes or Interfaces 42
Item 8:Prefer Generic Methods Unless Type Parameters Are Instance Fields 46
Item 9:Prefer Generic Tuples to Output and Ref Parameters 50
Item 10:Implement Classic Interfaces in Addition to Generic Interfaces 56
Chapter 2 Multithreading in C 63
Item 11:Use the Thread Pool Instead of Creating Threads 67
Item 12:Use BackgroundWorker for Cross-Thread Communication 74
Item 13:Use lock() as Your First Choice for Synchronization 78
Item 14:Use the Smallest Possible Scope for Lock Handles 86
Item 15:Avoid Calling Unknown Code in Locked Sections 90
Item 16:Understand Cross-Thread Calls in Windows Forms and WPF 93
Chapter 3 C# Design Practices 105
Item 17:Create Composable APIs for Sequences 105
Item 18:Decouple Iterations from Actions,Predicates,and Functions 112
Item 19:Generate Sequence Items as Requested 117
Item 20:Loosen Coupling by Using Function Parameters 120
Item 21:Create Method Groups That Are Clear,Minimal,and Complete 127
Item 22:Prefer Defining Methods to Overloading Operators 134
Item 23:Understand How Events Increase Runtime Coupling Among Objects 137
Item 24:Declare Only Nonvirtual Events 139
Item 25:Use Exceptions to Report Method Contract Failures 146
Item 26:Ensure That Properties Behave Like Data 150
Item 27:Distinguish Between Inheritance and Composition 156
Chapter 4 C# 3.0 Language Enhancements 163
Item 28:Augment Minimal Interface Contracts with Extension Methods 163
Item 29:Enhance Constructed Types with Extension Methods 167
Item 30:Prefer Implicitly Typed Local Variables 169
Item 31:Limit Type Scope by Using Anonymous Types 176
Item 32:Create Composable APIs for External Components 180
Item 33:Avoid Modifying Bound Variables 185
Item 34:Define Local Functions on Anonymous Types 191
Item 35:Never Overload Extension Methods 196
Chapter 5 Working with LINQ 201
Item 36:Understand How Query Expressions Map to Method Calls 201
Item 37:Prefer Lazy Evaluation Queries 213
Item 38:Prefer Lambda Expressions to Methods 218
Item 39:Avoid Throwing Exceptions in Functions and Actions 222
Item 40:Distinguish Early from Deferred Execution 225
Item 41:Avoid Capturing Expensive Resources 229
Item 42:Distinguish Between IEnumerable and IQueryable Data Sources 242
Item 43:Use Single() and First() to Enforce Semantic Expectations on Queries 247
Item 44:Prefer Storing Expression<>to Func<> 249
Chapter 6 Miscellaneous 255
Item 45:Minimize the Visibility of Nullable Values 255
Item 46:Give Partial Classes Partial Methods for Constructors,Mutators,and Event Handlers 261
Item 47:Limit Array Parameters to Params Arrays 266
Item 48:Avoid Calling Virtual Functions in Constructors 271
Item 49:Consider Weak References for Large Objects 274
Item 50:Prefer Implicit Properties for Mutable,Nonserializable Data 277
Index 283