书  名: Effective C#中文版:改善C#程序的50种方法
系列书名: 图灵程序设计丛书
作  者: Bill Wagner
译  者: 李建忠
书  号: 978-7-115-15888-8
出版日期: 2007-04
页  数: 320
定  价: 49.00 元
状  态: 停止销售
类  别:
分享到:新浪微博
本书围绕一些关于C#和.NET的重要主题,包括C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等,讲述了最常见的50个问题的解决方案,为程序员提供了改善C#和.NET程序的方法。本书通过将每个条款构建在之前的条款之上,并合理地利用之前的条款,来让读者最大限度地学习书中的内容,为其在不同情况下使用最佳构造提供指导。 本书适合各层次的C#程序员阅读,同时可以推荐给高校教师(尤其是软件学院教授C#/.NET课程的老师),作为C#双语教学的参考书。

第1章 C#语言元素    1

条款1:使用属性代替可访问的数据成员    1

条款2:运行时常量(readonly)优于编译时常量(const)    12

条款3:操作符is或as优于强制转型    17

条款4:使用Conditional特性代替#if条件编译    25

条款5:总是提供ToString()方法    31

条款6:明辨值类型和引用类型的使用场合    38

条款7:将值类型尽可能实现为具有常量性和原子性的类型    44

条款8:确保0为值类型的有效状态    51

条款9:理解几个相等判断之间的关系    56

条款10:理解GetHashCode()方法的缺陷    63

条款11:优先采用foreach循环语句    70

第2章 .NET资源管理    77

条款12:变量初始化器优于赋值语句    82

条款13:使用静态构造器初始化静态类成员    84

条款14:利用构造器链    87

条款15:利用using和try/finally语句来清理资源    93

条款16:尽量减少内存垃圾    100

条款17:尽量减少装箱与拆箱    103

条款18:实现标准Dispose模式    109

第3章 使用C#表达设计    117

条款19:定义并实现接口优于继承类型    118

条款20:明辨接口实现和虚方法重写    125

条款21:使用委托表达回调    129

条款22:使用事件定义外发接口    131

条款23:避免返回内部类对象的引用    137

条款24:声明式编程优于命令式编程    142

条款25:尽可能将类型实现为可序列化的类型    148

条款26:使用IComparable和IComparer接口实现排序关系    156

条款27:避免ICloneable接口    163

条款28:避免强制转换操作符    167

条款29:只有当新版基类导致问题时才考虑使用new修饰符    172

第4章 创建二进制组件    177

条款30:尽可能实现CLS兼容的程序集    181

条款31:尽可能实现短小简洁的函数    186

条款32:尽可能实现小尺寸、高内聚的程序集    190

条款33:限制类型的可见性    194

条款34:创建大粒度的Web API    198

第5章 使用框架    205

条款35:重写优于事件处理器    205

条款36:合理使用.NET运行时诊断    208

条款37:使用标准配置机制    213

条款38:定制和支持数据绑定    217

条款39:使用.NET验证    224

条款40:根据需要选用恰当的集合    229

条款41:DataSet优于自定义结构    237

条款42:利用特性简化反射    246

条款43:避免过度使用反射    253

条款44:为应用程序创建特定的异常类    258

第6章 杂项讨论    265

条款45:优先选择强异常安全保证    265

条款46:最小化互操作    270

条款47:优先选择安全代码    277

条款48:掌握相关工具与资源    281

条款49:为C# 2.0做准备    284

条款50:了解ECMA标准    293

索引    295