王朝百科
分享
 
 
 

EffectiveC#中文版-改善C#程序的50种方法

王朝百科·作者佚名  2010-06-13  
宽屏版  字体: |||超大  

EffectiveC#中文版-改善C#程序的50种方法

作者:(美)瓦格纳

ISBN:10位[7115158886]13位[9787115158888]

出版社:人民邮电

出版日期:2007-05

定价:¥49.00元

内容提要本书围绕一些关于C#和.NET的重要主题,包括C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等,讲述了最常见的50个问题的解决方案,为程序员提供了改善C#和.NET程序的方法。本书通过将每个条款构建在之前的条款之上,并合理地利用之前的条款,来让读者最大限度地学习书中的内容,为其在不同情况下使用最佳构造提供指导。

本书适合各层次的C#程序员阅读,同时可以推荐给高校教师(尤其是软件学院教授C#/.NET课程的老师),作为C#双语教学的参考书。

编辑推荐业界专家经验荟萃,讲述从优秀到卓越的秘诀,涵盖C#2.0。

“一直以来,读者们总在不停地问我,什么时候写EffectiveC#?本书的出版使我如释重负。令人高兴的是,我本人已经从阅读Bill的著作中获益良多,相信读者也会和我一样。”

——ScottMeyers,EffectiveC++作者,世界级面向对象技术专家

C#与C++、Java等语言的相似性大大降低了学习难度。但是,C#所具有的大量独特的特性和实现细节。有时又会使程序员适得其反:他们往往根据既有经验,错误地选用了不恰当的技术。从而导致各种问题。与此同时,随着数年来C#的广泛应用,业界在充分利用C#的强大功能编写快速、高效和可靠的程序方面也积累了丰富的最佳实践。

本书秉承了ScottMeyers的EffectiveC++和JoshuaBloch的EffectiveJava所开创的伟大传统.用真实的代码示例,通过清晰、贴近实际和简明的阐述,以条款格式为广大程序员提供凝聚了业界经验结晶的专家建议。

本书中,著名.NET专家BillWagner就如何高效地使用C#语言和.NET库。围绕C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等重要主题,讲述了如何在不同情况下使用最佳的语言构造和惯用法,同时避免常见的性能和可靠性问题。其中许多建议读者都可以举一反三。立即应用到自己的日常编程工作中去。

作者简介Billwagner是世界知名的.NET专家,微软C#领域的MVP,并荣获微软RegionalDirector称号。他是著名软件咨询公司SRTSolutions的创始人,有20多年软件开发经验,曾经领导了众多成功的Windows平台产品的开发。他是微软开发社区的活跃人物,长期担任MSDNMagazine、ASP.NETPro、VisualStudioMagazine等技术杂志的专栏作者。他的blog是http://www.srtsolutions.com/public/blog/20574,可以通过wwagner@SR7Solutions.com与他联系。

目录第1章C#语言元素

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

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

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

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

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

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

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

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

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

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

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

第2章.NET资源管理

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

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

条款14:利用构造器链

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

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

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

条款18:实现标准Dispose模式

第3章使用C#表达设计

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

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

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

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

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

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

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

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

条款27:避免ICloneable接口

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

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

第4章创建二进制组件

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

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

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

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

条款34:创建大粒度的WebAPI

第5章使用框架

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

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

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

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

条款39:使用.NET验证

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

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

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

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

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

第6章杂项讨论

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

条款46:最小化互操作

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

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

条款49:为C#2.0做准备

条款50:了解ECMA标准

索引

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有