包邮  Effective C#:改善C#代码的50个有效方法(原书第3版)pdf下载pdf下载

包邮 Effective C#:改善C#代码的50个有效方法(原书第3版)百度网盘pdf下载

作者:
简介:本篇主要提供包邮 Effective C#:改善C#代码的50个有效方法(原书第3版)pdf下载
出版社:
出版时间:2018-05
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍



商品参数

Effective C#:改善C#代码的50个有效方法(原书第3版)
              定价 79.00
出版社 机械工业出版社
版次 1
出版时间 2018年05月
开本 16开
作者 [美]比尔·瓦格纳(Bill Wagner)
装帧 平装-胶订
页数 251
字数 244000
ISBN编码 9787111597193
重量 452


内容介绍

本书分为5个章节,第壹章介绍一些常见的语言结构,它们是*发者手头bi备的工具,无论创建什么样的类型与算法,都离不开它们;第2章介绍一些设计习惯,告诉你应该怎样把代码写得与托管环境相协调;第3章讲解怎样用泛型取代System.Object以及强制类型转换,并讨论一些高ji技术,如约束、泛型特化、方法约束以及向后兼容等;第4章讲解LINQ、查询语法以及与之相关的语言特性,包括什么时候运用扩展方法把协定与实现相分离、怎样有效地使用闭包以及如何编写匿名类型等;第5章指引你把C#程序中的异常与错误处理好。

目录

Contents 目  录  
本书赞誉  
译者序  
前言  
第壹章 C#语言的编程习惯1  
第壹条:优先使用隐式类型的局部变量1  
第2条:考虑用readonly代替const8  
第3条:优先考虑is或as运算符,尽量少用强制类型转换12  
第4条:用内插字符串取代string.Format()20  
第5条:用FormattableString取代专门为特定区域而写的字符串24  
第6条:不要用表示符号名称的硬字符串来调用 API26  
第7条:用委托表示回调28  
第8条:用null条件运算符调用事件处理程序31  
第9条:尽量避免装箱与取消装箱这两种操作34  
第壹0条:只有在应对新版基类与现有子类之间的冲突时才应该使用 new修饰符38  
第2章 .NET的资源管理42  
第壹1条:理解并善用 .NET的资源管理机制42  
第壹2条:声明字段时,尽量直接为其设定初始值47  
第壹3条:用适当的方式初始化类中的静态成员50  
第壹4条:尽量删减重复的初始化逻辑52  
第壹5条:不要创建无谓的对象60  
第壹6条:绝dui不要在构造函数里面调用虚函数64  
第壹7条:实现标准的dispose 模式67  
第3章 合理地运用泛型74  
第壹8条:只定义刚好够用的约束条件76  
第壹9条:通过运行期类型检查实现特定的泛型算法82  
第20条:通过IComparable

及IComparer 定义顺序关系88    
第21条:创建泛型类时,总是应该给实现了IDisposable的类型参数提供支持95    
第22条:考虑支持泛型协变与逆变98    
第23条:用委托要求类型参数必须    
提供某种方法104    
第24条:如果有泛型方法,就不要    
再创建针对基类或接口的    
重载版本110    
第25条:如果不需要把类型参数所    
表示的对象设为实例字段,    
那么应该优先考虑创建泛    
型方法,而不是泛型类114    
第26条:实现泛型接口的同时,还    
应该实现非泛型接口118    
第27条:只把bi备的契约定义在接    
口中,把其他功能留给扩    
展方法去实现124    
第28条:考虑通过扩展方法增强已    
构造类型的功能128    
第4章 合理地运用LINQ131    
第29条:优先考虑提供迭代器方法,    
而不要返回集合131    
第30条:优先考虑通过查询语句来    
编写代码,而不要使用循环    
语句137    
第31条:把针对序列的API设计得    
更加易于拼接142    
第32条:将迭代逻辑与操作、谓词    
及函数解耦149    
第33条:等真正用到序列中的元素    
时再去生成153    
第34条:考虑通过函数参数来放松    
耦合关系155    
第35条:绝dui不要重载扩展方法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