Effective C# 改善C#代码的50个有效方法 原书第3版PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(美)比尔·瓦格纳(Bill Wagner)
- 出 版 社:北京:机械工业出版社
- 出版年份:2018
- ISBN:9787111597193
- 页数:252 页
第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
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《基于地质雷达信号波的土壤重金属污染探测方法研究》赵贵章 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《数学物理方法与仿真 第3版》杨华军 2020
- 《Helmholtz方程的步进计算方法研究》李鹏著 2019
- 《土壤环境监测前沿分析测试方法研究》中国环境监测总站编著 2018
- 《大数据环境下的信息管理方法技术与服务创新丛书 俄罗斯档案事业改革与发展研究》徐胡乡责编;肖秋会 2019
- 《交通工程安全风险管控与隐患排查一体化理论方法与信息化管理技术》王海燕著 2019
- 《致密油藏体积压裂产能评价方法》程林松,贾品,曹仁义 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019