十载演进,C#日渐强大,新增了泛型、函数式编程概念,以及对静态类型和动态类型的支持,而大量新兴编程习惯背后,却是种种具有迷惑性的“陷阱”,Bill Wagner将以此书帮您避免C#语言和.NET环境中的“陷阱”。
本书充分挖掘了C# 4.0的强大功能,并给出了简明、精确表达设计的50个实用方法。书中用大量代码示例,以50个条目条分缕析,为实际应用给出了清晰、专业、实用的建议,阐述了C#语言和.NET框架的方方面面,包括类型、资源管理、动态类型和多核支持。
本书主要内容包括:利用编译期常量和运行时常量提高效率和可维护性(条目2);探索常量类型以促进多核处理(条目20);最小化垃圾收集、装箱和拆箱操作(条目16和条目45);探索接口和委托的强大功能(条目22至条目25);探索并行算法的魔力(条目35至条目37);使用“鸭子类型”(条目38);利用表达式API替代反射API(条目42和条目43);利用查询表达式替代循环(条目8);支持泛型协变和逆变(条目29);使用可选参数减少方法重载(条目10)。
第1章 C#语言习惯 1
条目1 使用属性而不是可访问的数据成员 1
条目2 用运行时常量(readonly)而不是编译期常量(const) 7
条目3 推荐使用is或as操作符而不是强制类型转换 11
条目4 使用Conditional特性而不是#if条件编译 19
条目5 为类型提供ToString()方法 26
条目6 理解几个等同性判断之间的关系 33
条目7 理解GetHashCode()的陷阱 41
条目8 推荐使用查询语法而不是循环 47
条目9 避免在API中使用转换操作符 51
条目10 使用可选参数减少方法重载的数量 55
条目11 理解短小方法的优势 59
第2章 .NET资源管理 63
条目12 推荐使用成员初始化器而不是赋值语句 67
条目13 正确地初始化静态成员变量 70
条目14 尽量减少重复的初始化逻辑 72
条目15 使用using和try/finally清理资源 79
条目16 避免创建非必要的对象 85
条目17 实现标准的销毁模式 89
条目18 区分值类型和引用类型 94
条目19 保证0为值类型的有效状态 99
条目20 保证值类型的常量性和原子性 103
第3章 使用C#表达设计 111
条目21 限制类型的可见性 112
条目22 通过定义并实现接口替代继承 115
条目23 理解接口方法和虚方法的区别 123
条目24 用委托实现回调 127
条目25 用事件模式实现通知 130
条目26 避免返回对内部类对象的引用 137
条目27 让类型支持序列化 140
条目28 提供粗粒度的因特网服务API 148
条目29 支持泛型协变和逆变 152
第4章 使用框架 158
条目30 使用覆写而不是事件处理函数 158
条目31 使用IComparable〈T〉和IComparer〈T〉实现顺序关系 161
条目32 避免使用ICloneable接口 168
条目33 仅用new修饰符处理基类更新 171
条目34 避免重载基类中定义的方法 175
条目35 PLINQ如何实现并行算法 179
条目36 理解PLINQ在I/O密集场景中的应用 189
条目37 注意并行算法中的异常 193
第5章 C#中的动态编程 199
条目38 理解动态类型的优劣 199
条目39 使用动态类型表达泛型类型参数的运行时类型 207
条目40 将接受匿名类型的参数声明为dynamic 210
条目41 用DynamicObject或IDynamicMetaObjectProvider实现数据驱动的动态类型 213
条目42 如何使用表达式API 223
条目43 使用表达式将延迟绑定转换为预先绑定 229
条目44 尽量减少在公有API中使用动态对象 234
第6章 杂 项 240
条目45 尽量减少装箱和拆箱 240
条目46 为应用程序创建专门的异常类 243
条目47 使用强异常安全保证 248
条目48 尽量使用安全的代码 257
条目49 实现与CLS兼容的程序集 260
条目50 实现小尺寸、高内聚的程序集 265
C++程序设计 本书特色 《C++程序设计》是谭浩强教授的又一力作,依据C++标准进行介绍,引导学生学习标准C++,而不仅学习依赖于某一特定环境下的“方言化”的...
本书作者利用丰富的时尚类杂志设计和宝贵的数字出版方面(iPad交互杂志)的经验为我们展示了不需要编程的知识,如何使用平面软件
工业机器人与自控系统的集成应用 本书特色 本书从实用的角度出发,对工业机器人与PLC 控制系统的综合应用、触摸屏与机器人的联合应用、机器人与视觉系统的综合应用,...
《基于无线自组网的应急通信技术》内容简介:应急通信是为应对自然灾害或公共突发事件而提供的特殊通信机制和手段。本书以突发紧急
语义网技术体系 本书特色 《语义网技术体系》简要回顾万维网的发展历史及体系结构,系统介绍语义网的基本理念及技术体系,包括 rdf数据、web本体、语义网推理技术...
《你早该这样玩小米手机》内容简介:《你早该这样玩小米手机》教您如何迅速成为小米手机高手。全书对小米手机好玩好用的部分进行精
飞行研究是飞机设计过程中一个不可缺少和不可分割的部分,人们研制了许多种型号的飞机来试验各种新的设计,演示一些特别的新技术
《苏青散文》内容简介:本书是民国才女苏青散文精选集。内容分两辑,第一辑收入叙写生活的散文,第二辑是关于家庭、工作、女子道德
网络的限制边连通度与孤连通度 本书特色 图论是研究互连网络拓扑性能的有效方法,本书对于有关网络可靠性参数的问题提供了一个理论框架。内容包括网络的极大k限制边连通...
《如何管理设计流程:设计思维》介绍了设计师创意概念产生的过程,目标是完成一整套创意过程的线索。强调想法和方法在设计问题解决
《企业级容器云架构开发指南》内容简介:本书由慧与大学组织,由慧与(中国)有限公司容器云项目组的人员完成,书籍内容的蓝本为慧
《信息存储与IT管理》内容简介:本书由华为技术有限公司与上海交通大学计算机科学与工程系联合编写,融合了上海交通大学在计算机领
《淘宝天猫开店必备技能速查速用手册》内容简介:《淘宝天猫开店必备技能速查速用手册》系统、全面地介绍了在淘宝和天猫平台上开店
《PHP与MySQL基础教程(第2版)》采用基于任务的方法来讲授PHP和MySQL,使用大量图片指导读者深入学习语言,并向读者展示了如何构造
Thefaultline--thatdangerous,unstableseamintheeconomywherepowerfulinnovationsands...
《中国:将对世界做出更大贡献》内容简介:“一带一路”倡议是21世纪的中国向世界发出的时代倡议,正在也必将给广大发展中国家,乃
《白孔雀》内容简介:“劳伦斯经典系列”由《儿子与情人》《恋爱中的女人》《骑马出走的女人》《白孔雀》四本组成,由国内劳伦斯研
《丁玲散文》内容简介:本书系我社中华散文珍藏本系列丛书之一。本集是丁玲之子蒋祖林先生的选编本,也是市面上唯一的丁玲散文选本
《U形曲线:高质量发展的底层逻辑》内容简介:本书提出了何为最优产品、最优服务、最优企业的问题,运用大量的案例系统介绍如何提高
《互联网商业的下半场》内容简介:随着人工智能和IT技术的发展,以科技为圆心、以资本为半径的互联网商业的上半场已离我们远去,以