img
share 分享

VIP会员

作者:CSDN

出版社:CSDN《程序员》

ISBN:1111111111117

VIP会员免费 (仅需0.8元/天) ¥ 40000.0

温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!

电子书推荐

更多资源 展开

编写高质量代码:改善C#程序的157个建议_源代码示例 评分:

编写高质量代码:改善C#程序的157个建议_源代码示例 目录 前 言 第一部分 语言篇 第1章 基本语言要素 / 2 建议1:正确操作字符串 / 2 建议2:使用默认转型方法 / 6 建议3:区别对待强制转型与as和is / 9 建议4:TryParse比Parse好 / 12 建议5:使用int?来确保值类型也可以为null / 15 建议6:区别readonly和const的使用方法 / 16 建议7:将0值作为枚举的默认值 / 19 建议8:避免给枚举类型的元素提供显式的值 / 20 建议9:习惯重载运算符 / 22 建议10:创建对象时需要考虑是否实现比较器 / 23 建议11:区别对待==和Equals / 27 建议12:重写Equals时也要重写GetHashCode / 29 建议13:为类型输出格式化字符串 / 32 建议14:正确实现浅拷贝和深拷贝 / 36 建议15:使用dynamic来简化反射实现 / 40 第2章 集合和LINQ / 43 建议16:元素数量可变的情况下不应使用数组 / 43 建议17:多数情况下使用foreach进行循环遍历 / 45 建议18:foreach不能代替for / 51 建议19:使用更有效的对象和集合初始化 / 53 建议20:使用泛型集合代替非泛型集合 / 54 建议21:选择正确的集合 / 57 建议22:确保集合的线程安全 / 61 建议23:避免将List作为自定义集合类的基类 / 64 建议24:迭代器应该是只读的 / 67 建议25:谨慎集合属性的可写操作 / 68 建议26:使用匿名类型存储LINQ查询结果 / 70 建议27:在查询中使用Lambda表达式 / 73 建议28:理解延迟求值和主动求值之间的区别 / 75 建议29:区别LINQ查询中的IEnumerable和IQueryable / 78 建议30:使用LINQ取代集合中的比较器和迭代器 / 80 建议31:在LINQ查询中避免不必要的迭代 / 83 第3章 泛型、委托和事件 / 86 建议32:总是优先考虑泛型 / 86 建议33:避免在泛型类型中声明静态成员 / 88 建议34:为泛型参数设定约束 / 90 建议35:使用default为泛型类型变量指定初始值 / 92 建议36:使用FCL中的委托声明 / 94 建议37:使用Lambda表达式代替方法和匿名方法 / 96 建议38:小心闭包中的陷阱 / 99 建议39:了解委托的实质 / 103 建议40:使用event关键字为委托施加保护 / 106 建议41:实现标准的事件模型 / 108 建议42:使用泛型参数兼容泛型接口的不可变性 / 109 建议43:让接口中的泛型参数支持协变 / 111 建议44:理解委托中的协变 / 112 建议45:为泛型类型参数指定逆变 / 114 第4章 资源管理和序列化 / 116 建议46:显式释放资源需继承接口IDisposable / 116 建议47:即使提供了显式释放方法,也应该在终结器中提供隐式清理 / 119 建议48:Dispose方法应允许被多次调用 / 120 建议49:在Dispose模式中应提取一个受保护的虚方法 / 121 建议50:在Dispose模式中应区别对待托管资源和非托管资源 / 123 建议51:具有可释放字段的类型或拥有本机资源的类型应该是可释放的 / 124 建议52:及时释放资源 / 125 建议53:必要时应将不再使用的对象引用赋值为null / 127 建议54:为无用字段标注不可序列化 / 131 建议55:利用定制特性减少可序列化的字段 / 136 建议56:使用继承ISerializable接口更灵活地控制序列化过程 / 137 建议57:实现ISerializable的子类型应负责父类的序列化 / 140 第5章 异常与自定义异常 / 144 建议58:用抛出异常代替返回错误代码 / 144 建议59:不要在不恰当的场合下引发异常 / 147 建议60:重新引发异常时使用Inner Exception / 150 建议61:避免在finally内撰写无效代码 / 151 建议62:避免嵌套异常 / 157 建议63:避免“吃掉”异常 / 160 建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内 / 161 建议65:总是处理未捕获的异常 / 162 建议66:正确捕获多线程中的异常 / 166 建议67:慎用自定义异常 / 168 建议68:从System

...展开详情
上传时间:2014-04 大小:26.78MB
热门图书