本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | Effective C#:改善C#代码的50个有效方法:50 specific ways 计算机与互联网 书籍 |
作者: | [美]比尔·瓦格纳(Bill Wagner) |
定价: | 79.0 |
出版社: | 机械工业出版社 |
出版日期: | 2018-05-01 |
ISBN: | 9787111597193 |
印次: | |
版次: | |
装帧: | 平装-胶订 |
开本: | 小16开 |
内容简介 | |
本书分为5个章节,第1章介绍一些常见的语言结构,它们是开发者手头备的工具,无论创建什么样的类型与算法,都离不开它们;第2章介绍一些设计习惯,告诉你应该怎样把代码写得与托管环境相协调;第3章讲解怎样用泛型取代System.Object以及强制类型转换,并讨论一些技术,如约束、泛型特化、方法约束以及向后兼容等;第4章讲解LINQ、查询语法以及与之相关的语言特性,包括什么时候运用扩展方法把协定与实现相分离、怎样有效地使用闭包以及如何编写匿名类型等;第5章指引你把C#程序中的异常与错误处理好。 |
目录 | |
Contents 目 录 本书赞誉 译者序 前言 第1章 C#语言的编程习惯1 第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 第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 第21条:创建泛型类时,总是应该给实现了IDisposable的类型参数提供支持95 第22条:考虑支持泛型协变与逆变98 第23条:用委托要求类型参数须 提供某种方法104 第24条:如果有泛型方法,就不要 再创建针对基类或接口的 重载版本110 第25条:如果不需要把类型参数所 表示的对象设为实例字段, 那么应该优先考虑创建泛 型方法,而不是泛型类114 第26条:实现泛型接口的同时,还 应该实现非泛型接口118 第27条:只把备的契约定义在接 口中,把其他功能留给扩 展方法去实现124 第28条:考虑通过扩展方法增强已 构造类型的功能128 第4章 合理地运用LINQ131 第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 |