《More Effective C#中文版 改善C#程序的50个具体办法》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:BillWagner编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115215703
  • 页数:292 页
图书介绍:本书作者提出了50个全新方法,来编写更有效且更健壮的软件。这本全新的图书延续了作者前本畅销图书的风格,提出了清晰的诠释、专业的提示以及更实用的代码示例。

第1章 使用泛型 1

条目1:使用1.x框架API的泛型版本 4

条目2:恰到好处地定义约束 14

条目3:运行时检查泛型参数的类型并提供特定的算法 19

条目4:使用泛型强制编译期类型推断 26

条目5:确保泛型类型支持可销毁对象 32

条目6:使用委托定义类型参数上的方法约束 36

条目7:不要为基类或接口创建泛型的特殊实现 42

条目8:尽可能使用泛型方法,除非需要将类型参数用于实例的字段中 46

条目9:使用泛型元组代替out和ref参数 50

条目10:在实现泛型接口的同时也实现传统接口 56

第2章 C#中的多线程 63

条目11:使用线程池而不是创建线程 67

条目12:使用BackgroundWorker实现线程间通信 74

条目13:让lock()作为同步的第一选择 78

条目14:尽可能地减小锁对象的作用范围 86

条目15:避免在锁定区域内调用外部代码 90

条目16:理解Windows窗体和WPF中的跨线程调用 93

第3章 C#设计实践 105

条目17:为序列创建可组合的API 105

条目18:将遍历和操作、谓词以及函数分开 112

条目19:根据需要生成序列中的元素 117

条目20:使用函数参数降低耦合 120

条目21:让重载方法组尽可能清晰、最小化且完整 127

条目22:定义方法后再重载操作符 134

条目23:理解事件是如何增加对象间运行时耦合的 137

条目24:仅声明非虚的事件 139

条目25:使用异常来报告方法的调用失败 146

条目26:确保属性的行为与数据类似 150

条目27:区分继承和组合 156

第4章 C#3.0语言增强 163

条目28:使用扩展方法增强现有接口 163

条目29:使用扩展方法增强现有类型 167

条目30:推荐使用隐式类型局部变量 169

条目31:使用匿名类型限制类型的作用域 176

条目32:为外部组件创建可组合的API 180

条目33:避免修改绑定变量 185

条目34:为匿名类型定义局部函数 191

条目35:不要在不同命名空间中声明同名的扩展方法 196

第5章 使用LINQ 201

条目36:理解查询表达式与方法调用之间的映射 201

条目37:推荐使用延迟求值查询 213

条目38:推荐使用lambda表达式而不是方法 218

条目39:避免在函数或操作中抛出异常 222

条目40:区分早期执行和延迟执行 225

条目41:避免在闭包中捕获昂贵的外部资源 229

条目42:区分IEnumerable和IQueryable数据源 242

条目43:使用Single()和First()来明确给出对查询结果的期待 247

条目44:推荐保存Expression<>而不是Func<> 249

第6章 杂项 255

条目45:最小化可空类型的可见范围 255

条目46:为部分类的构造函数、修改方法以及事件处理程序提供部分方法 261

条目47:仅在需要parms数组时才使用数组作为参数 266

条目48:避免在构造函数中调用虚方法 271

条目49:考虑为大型对象使用弱引用 274

条目50:使用隐式属性表示可变但不可序列化的数据 277

索引 283