Effective C# 中文版改善C#程序的50种方法

第1章 C#语言元素

   条款1:使用属性代替可访问的数据成员
 条款2:运行时常量(readonly)优于编译时常量(const)
 条款3:操作符is或as优于强制转型
 条款4:使用Conditional特性代替#if条件编译
 条款5:总是提供ToString()方法
 条款6:明辨值类型和引用类型的使用场合
 条款7:将值类型尽可能实现为具有常量性和原子性的类型
 条款8:确保0为值类型的有效状态
 条款9:理解几个相等判断之间的关系
 条款10:理解GetHashCode()方法的缺陷
 条款11:优先采用foreach循环语句
第2章 .NET资源管理
 条款12:变量初始化器优于赋值语句
 条款13:使用静态构造器初始化静态类成员
 条款14:利用构造器链
 条款15:利用using和try/finally语句来清理资源
 条款16:尽量减少内存垃圾
 条款17:尽量减少装箱与拆箱
 条款18:实现标准Dispose模式
第3章 使用C#表达设计
 条款19:定义并实现接口优于继承类型
 条款20:明辨接口实现和虚方法重写
 条款21:使用委托表达回调
 条款22:使用事件定义外发接口
 条款23:避免返回内部类对象的引用
 条款24:声明式编程优于命令式编程
 条款25:尽可能将类型实现为可序列化的类型
 条款26:使用IComparable和IComparer接口实现排序关系
 条款27:避免ICloneable接口
 条款28:避免强制转换操作符
 条款29:只有当新版基类导致问题时才考虑使用new修饰符
第4章 创建二进制组件
 条款30:尽可能实现CLS兼容的程序集
 条款31:尽可能实现短小简洁的函数
 条款32:尽可能实现小尺寸、高内聚的程序集
 条款33:限制类型的可见性
 条款34:创建大粒度的Web API
第5章 使用框架
 条款35:重写优于事件处理器
 条款36:合理使用.NET运行时诊断
 条款37:使用标准配置机制
 条款38:定制和支持数据绑定
 条款39:使用.NET验证
 条款40:根据需要选用恰当的集合
 条款41:DataSet优于自定义结构
 条款42:利用特性简化反射
 条款43:避免过度使用反射
 条款44:为应用程序创建特定的异常类
第6章 杂项讨论
 条款45:优先选择强异常安全保证
 条款46:最小化互操作
 条款47:优先选择安全代码
 条款48:掌握相关工具与资源
 条款49:为C# 2.0做准备
 条款50:了解ECMA标准

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值