Effective C#(改善C#代码的50个有效方法原书第3版)/EFFECTIVE系列丛书pdf下载pdf下载

Effective C#(改善C#代码的50个有效方法原书第3版)/EFFECTIVE系列丛书百度网盘pdf下载

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

免费下载


书籍下载


内容介绍

基本信息

  • 商品名称:Effective C#(改善C#代码的50个有效方法原书第3版)/EFFECTIVE系列丛书
  • 作者:(美)比尔·瓦格纳|译者:爱飞翔
  • 定价:79
  • 出版社:机械工业
  • ISBN号:9787111597193

其他参考信息(以实物为准)

  • 出版时间:2018-05-01
  • 印刷时间:2018-05-01
  • 版次:1
  • 印次:1
  • 开本:16开
  • 包装:平装
  • 页数:251

内容提要

在比尔·瓦格纳著的《Effective C#(改善C#代 码的50个有效方法原书第3版)/EFFECTIVE系列丛书》 中,世界知名专家Bill Wagner先生给出了50条建议 ,告诉你怎样充分利用C#6.O所具备的特性来编写健 壮而高效的代码。这些建议反映了C#的新进展,也令 人体会到C#这门语言越来越成熟了。在这个新版本中 ,作者提出了多种改善代码质量的新方式,例如怎样 发挥泛型的优势等。此外,书中还针对LINQ给出了很 多条建议。全书 后 是专门用一章的内容讨论了怎 样处理异常。
     Wagner用清晰而诚恳的讲解风格、专业的技法以 及实用的范例代码写成这本书,令其成为C#开发者必 备的参考资料。书中的话题涵盖了C#语言的各个方面 ,例如怎样管理资源、怎样开发多核程序,以及怎样 避开语言本身和.NET环境中的陷阱。作者拥有丰富的 经验,能帮你在诸多方案中选出 加高效的办法,写 出易于维护且便于改进的代码。书中详细解释了如何 践行下面这些建议,并告诉大家为什么应该这样做: 优先使用隐式类型的局部变量( 条) 用内插字符串取代string.Format()(第4条) 用委托表示回调(第7条) 理解并善用.NET的资源管理机制( 1条) 只定义刚好够用的约束条件( 8条) 通过运行期类型检查实现特定的泛型算法( 9 条) 用委托要求类型参数必须提供某种方法(第23条 ) 只把 的契约定义在接口中,把其他功能留给 扩展方法去实现(第27条) 把针对序列的API设计得 加易于拼接(第31条 ) 将迭代逻辑与操作、谓词及函数解耦(第32条) 考虑用lambda表达式来代替方法(第38条) 掌握尽早执行与延迟执行之间的区别(第40条) 不要把开销较大的资源捕获到闭包中(第41条) 考虑在方法约定遭到违背时抛出异常(第45条) 合理利用异常筛选器的副作用来实现某些效果( 第50条)

目录

本书赞誉
译者序
前言
第1章 C#语言的编程习惯
条:优先使用隐式类型的局部变量
第2条:考虑用readonly代替const
第3条:优先考虑is或as运算符,尽量少用强制类型转换
第4条:用内插字符串取代string.Format()
第5条:用FormattableString取代专门为特定区域而写的字符串
第6条:不要用表示符号名称的硬字符串来调用
第7条:用委托表示回调
第8条:用null条件运算符调用事件处理程序
第9条:尽量避免装箱与取消装箱这两种操作
0条:只有在应对新版基类与现有子类之间的冲突时才应该使用new修饰符
第2章 .NET的资源管理
1条:理解并善用.NET的资源管理机制
2条:声明字段时,尽量直接为其设定初始值
3条:用适当的方式初始化类中的静态成员
4条:尽量删减重复的初始化逻辑
5条:不要创建无谓的对象
6条: 不要在构造函数里面调用虚函数
7条:实现标准的dispose模式
第3章 合理地运用泛型
8条:只定义刚好够用的约束条件
9条:通过运行期类型检查实现特定的泛型算法
第20条:通过IComparable及IComparer定义顺序关系
第21条:创建泛型类时,总是应该给实现了IDisposable的类型参数提供支持
第22条:考虑支持泛型协变与逆变
第23条:用委托要求类型参数必须提供某种方法
第24条:如果有泛型方法,就不要再创建针对基类或接口的重载版本
第25条:如果不需要把类型参数所表示的对象设为实例字段,那么应该优先考虑创建泛型方法,而不是泛型类
第26条:实现泛型接口的同时,还应该实现非泛型接口
第27条:只把 的契约定义在接口中,把其他功能留给扩展方法去实现
第28条:考虑通过扩展方法增强已构造类型的功能
第4章 合理地运用LINQ
第29条:优先考虑提供迭代器方法,而不要返回集合
第30条:优先考虑通过查询语句来编写代码,而不要使用循环语句
第31条:把针对序列的API设计得 加易于拼接
第32条:将迭代逻辑与操作、谓词及函数解耦
第33条:等真正用到序列中的元素时再去生成
第34条:考虑通过函数参数来放松耦合关系
第35条: 不要重载扩展方法
第36条:理解查询表达式与方法调用之间的映射关系
第37条:尽量采用惰性求值的方式来查询,而不要及早求值
第38条:考虑用lambda表达式来代替方法
第39条:不要在Func与Action中抛出异常
第40条:掌握尽早执行与延迟执行之间的区别
第41条:不要把开销较大的资源捕获到闭包中
第42条:注意IEnumerable与IQueryable形式的数据源之间的区别
第43条:用Single()及来明确地验证你对查询结果所做的假设