特别优惠
跟上新发行和促销的步伐。注册,听取我们的意见。
“这本书确实展示了比尔作为作家和程序员的优势。他能够在很短的时间内提出问题,解决问题并得出结论;每一章都紧凑、简洁、切中要害。”
——josh Holmes(独立承包商
“这本书从实用的角度很好地介绍了c#语言元素,确定了最佳实践,并遵循从基本语法到创建组件再到提高代码编写技能的清晰逻辑进展。”因为每个主题都包含在简短的条目中,所以非常容易阅读,你很快就会意识到这本书的好处。”
——托马斯·雷斯特雷波,微软最有价值球员
这本书很好地涵盖了基础知识,特别是在从System.Object派生类时所需的决策方面。它的例子清晰、简洁、扎实,易于阅读。我认为它将为大多数读者带来良好的价值。”
-Rob Steel,微软中央区域集成COE和首席架构师
”有效的c#为c#开发人员提供了快速增长Visual c# 2003经验所需的工具,同时还深入了解了将以Visual c# 2005的形式出现在您身边的语言的许多改进。”
——doug Holland, Precision Objects
. net框架(尤其是c#语言)的部分意义在于让开发人员专注于解决客户问题和交付产品,而不是花费数小时(甚至数周)编写管道代码。比尔瓦格纳的有效的c#,不仅向您展示了幕后发生的事情,还向您展示了如何利用特定的c#代码结构。Wagner的书以一种冷静的风格写作,专注于事实——而且仅仅是事实——编写有效的c#代码,书中深入探讨了编写c#应用程序和组件的实践,这些应用程序和组件更容易维护,运行速度更快。我推荐有效的c#致所有参加过我的。net训练营和其他c#相关课程的学生。”
——理查德·海尔·肖
介绍。
1.c#语言元素。
项目1 -始终使用属性而不是可访问数据成员。
条款2 -首选只读而不是const。
第3项-使用is或as操作符优于强制类型转换。
项目4 -使用条件属性代替#if。
项目5 -始终提供ToString()。
区分值类型和引用类型。
项目7 -首选不可变原子值类型。
项目8 -确保0是值类型的有效状态。
理解ReferenceEquals()、static Equals()、instance Equals()和operator==之间的关系。
项目10 -理解GetHashCode()的缺陷。
项目11 -首选foreach循环。
. net资源管理。
项目12 -变量初始化语句优于赋值语句。
用静态构造函数初始化静态类成员。
项目14 -利用构造函数链。
项目15 -使用using和try/finally进行资源清理。
项目16 -减少垃圾。
项目17 -尽量减少装箱和拆箱。
项目18 -实施标准处置模式。
3.用c#表达设计。
项目19 -优先定义和实现接口而不是继承。
项目20 -区分实现接口和覆盖虚函数。
项目21 -与代表进行快速回调。
项目22 -定义带有事件的出接口。
避免返回对内部类对象的引用。
项目24 -选择声明式编程而不是命令式编程。
项目25 -首选可序列化类型。
项目26 -使用IComparable和Icomparer实现排序关系。
项目27 -避免孤独。
项目28 -避免转换操作符。
Item 29 -只有在基类更新时才使用新的修饰符。
4.创建二进制组件。
项目30 -首选符合cls的组件。
项目31 -偏好小而简单的函数。
项目32 -更喜欢较小的内聚程序集。
项目33 -限制类型的可见性。
项目34 -创建大粒度Web api。
5.使用框架。
项目35 -优先重写事件处理程序。
项目36 -利用。net运行时诊断。
项目37 -使用标准配置机制。
项目38 -利用和支持数据绑定。
项目39 -使用。net验证。
项目40 -将你的收藏与你的需要相匹配。
项目41 -选择数据集而不是自定义结构。
项目42 -利用属性简化反射。
项目43 -不要过度使用反射。
项目44 -创建完整的应用程序特定的异常类。
6.杂项。
项目45 -选择强异常保证。
项目46 -最小化互操作。
项目47 -首选安全代码。
项目48 -了解工具和资源。
项目49 -为c# 2.0做好准备。
项目50 -了解ECMA标准。
索引。