.NET 性能条款

1.推荐以Dispose模式来代替Finalize方式

2.选择合适的垃圾收集器:工作站GC和服务器GC

3.在适当的情况下对对象实现弱引用

4.尽可能以using来执行资源清理

5.推荐使用泛型集合来代替非泛型集合

6.初始化时最好为集合对象指定大小

7.特定类型的Array性能优于ArrayList

8.字符串驻留机制是CLR为String类型实现的特殊设计

9.合理使用System.String 和 System.Text.StringBuilder

10.尽量在子类中重写ToString方法

11.推荐的字符串操作:
    字符串比较:StringCompare(string str1,string str2){return String.Compare(str1,str2);}
    判断是否为空: return str.Length==0

12.for和foreach的选择
    推荐选择foreach来处理可枚举集合的循环结构

13.以多线程处理应对系统设计
    推荐在多线程编程中使用线程池

14.尽可能少地抛出异常,禁止将异常处理放在循环内

15.捕获异常时,catch块中尽量指定具体的异常筛选器,多个catch块应该保证异常由特殊到一般的排列顺序

16.struct和class的性能比较
    基于性能考虑,在特殊情况下,以struct来实现对轻量数据的封装是较好的选择。这是因为struct是值类型,数据分配于线程的堆栈上,因此具有较好的性能表现。

17.以is/as模式进行类型兼容性检查

18.const和static readonly的权衡
    const是编译时常量,readonly是运行时常量,所以const高效,readonly灵活。在实际的应用中,推荐以static readonly 来代替const,以解决const可能引起的程序集引用不一致问题,还有带来的较多灵活性控制。

19.尽量避免不当的装箱和拆箱,选择合适的代替方案

20.尽量使用一维零基数组

21.以FxCop工具,检查你的代码

转载于:https://my.oschina.net/webxiaohua/blog/338300

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值