
Effective C#:50 specific ways to improve your C#
副标题:无
分类号:
ISBN:9787115158888
微信扫一扫,移动浏览光盘
简介
本书围绕一些重要的主题,包括c#语言元素、.net资源管理、使用c#表达设计、创建二进制组件和使用框架等,讲述了最常见的50个问题的解决方案,为程序员提供了在使用c#语言和.net库时如何提高编程效率的建议。本书通过将每个条款构建在之前的条款之上,并合理地利用之前的条款,来让读者最大限度地学习书中的内容,为其在不同的情况下能够使用最佳的构造而提供指导。.
本书适于各种层次的c#程序员阅读,同时可以推荐给高校教师(尤其是软件学院教授c#/.net课程的老师),作为c#双语教学的参考书。
c#与c++、java等语言的相似性大大降低了学习难度,但是,c#所具有的大量独特的特性和实现细节,有时又会使程序员适得其反:他们往往根据既有经验,错误地选用了不恰当的技术,从而导致各种问题。与此同时,随着数年来c#的广泛应用,业界在充分利用c#的强大功能编写快速、高效和可靠的程序方面也积累了丰富的最佳实践。..
本书秉承了scott meyers的effective c++和joshua bloch的effective java所开创的伟大传统,用真实的代码示例,通过清晰、贴近实际和简明的阐述,以条款格式为广大程序员提供凝聚了业界经验结晶的专家建议。
本书中,著名.net专家bill wagner就如何高效地使用c#语言和.net库,围绕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
条款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
Effective C#:50 specific ways to improve your C#
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
