当前位置:首页 > 工业技术
Effective C#  改善C#代码的50个有效方法  原书第3版
Effective C#  改善C#代码的50个有效方法  原书第3版

Effective C# 改善C#代码的50个有效方法 原书第3版PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:(美)比尔·瓦格纳(Bill Wagner)
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111597193
  • 页数:252 页
图书介绍:本书分为5个章节,第1章介绍一些常见的语言结构,它们是开发者手头必备的工具,无论创建什么样的类型与算法,都离不开它们;第2章介绍一些设计习惯,告诉你应该怎样把代码写得与托管环境相协调;第3章讲解怎样用泛型取代System.Object以及强制类型转换,并讨论一些高级技术,如约束、泛型特化、方法约束以及向后兼容等;第4章讲解LINQ、查询语法以及与之相关的语言特性,包括什么时候运用扩展方法把协定与实现相分离、怎样有效地使用闭包以及如何编写匿名类型等;第5章指引你把C#程序中的异常与错误处理好。
《Effective C# 改善C#代码的50个有效方法 原书第3版》目录

第1章 C#语言的编程习惯 1

第1条:优先使用隐式类型的局部变量 1

第2条:考虑用readonly代替const 8

第3条:优先考虑is或as运算符,尽量少用强制类型转换 12

第4条:用内插字符串取代string.Format() 20

第5条:用FormattableString取代专门为特定区域而写的字符串 24

第6条:不要用表示符号名称的硬字符串来调用API 26

第7条:用委托表示回调 28

第8条:用null条件运算符调用事件处理程序 31

第9条:尽量避免装箱与取消装箱这两种操作 34

第10条:只有在应对新版基类与现有子类之间的冲突时才应该使用new修饰符 38

第2章 .NET的资源管理 42

第11条:理解并善用.NET的资源管理机制 42

第12条:声明字段时,尽量直接为其设定初始值 47

第13条:用适当的方式初始化类中的静态成员 50

第14条:尽量删减重复的初始化逻辑 52

第15条:不要创建无谓的对象 60

第16条:绝对不要在构造函数里面调用虚函数 64

第17条:实现标准的dispose模式 67

第3章 合理地运用泛型 74

第18条:只定义刚好够用的约束条件 76

第19条:通过运行期类型检查实现特定的泛型算法 82

第20条:通过IComparable<T>及IComparer<T>定义顺序关系 88

第21条:创建泛型类时,总是应该给实现了IDisposable的类型参数提供支持 95

第22条:考虑支持泛型协变与逆变 98

第23条:用委托要求类型参数必须提供某种方法 104

第24条:如果有泛型方法,就不要再创建针对基类或接口的重载版本 110

第25条:如果不需要把类型参数所表示的对象设为实例字段,那么应该优先考虑创建泛型方法,而不是泛型类 114

第26条:实现泛型接口的同时,还应该实现非泛型接口 118

第27条:只把必备的契约定义在接口中,把其他功能留给扩展方法去实现 124

第28条:考虑通过扩展方法增强已构造类型的功能 128

第4章 合理地运用LINQ 131

第29条:优先考虑提供迭代器方法,而不要返回集合 131

第30条:优先考虑通过查询语句来编写代码,而不要使用循环语句 137

第31条:把针对序列的API设计得更加易于拼接 142

第32条:将迭代逻辑与操作、谓词及函数解耦 149

第33条:等真正用到序列中的元素时再去生成 153

第34条:考虑通过函数参数来放松耦合关系 155

第35条:绝对不要重载扩展方法 162

第36条:理解查询表达式与方法调用之间的映射关系 165

第37条:尽量采用惰性求值的方式来查询,而不要及早求值 177

第38条:考虑用lambda表达式来代替方法 182

第39条:不要在Func与Action中抛出异常 186

第40条:掌握尽早执行与延迟执行之间的区别 188

第41条:不要把开销较大的资源捕获到闭包中 193

第42条:注意IEnumerable与IQueryable形式的数据源之间的区别 206

第43条:用Single()及First()来明确地验证你对查询结果所做的假设 211

第44条:不要修改绑定变量 214

第5章 合理地运用异常 220

第45条:考虑在方法约定遭到违背时抛出异常 220

第46条:利用using与try/finally来清理资源 224

第47条:专门针对应用程序创建异常 231

第48条:优先考虑做出强异常保证 237

第49条:考虑用异常筛选器来改写先捕获异常再重新抛出的逻辑 244

第50条:合理利用异常筛选器的副作用来实现某些效果 248

中英文词汇对照表 252

相关图书
作者其它书籍
返回顶部