图书介绍

More Effective C# 改善C#程序的50个具体办法 英文版pdf电子书版本下载

More Effective C#  改善C#程序的50个具体办法  英文版
  • BillWagner编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115215109
  • 出版时间:2009
  • 标注页数:297页
  • 文件大小:11MB
  • 文件页数:306页
  • 主题词:C语言-程序设计-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

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

精品推荐