高效C#编码优化

9年前

  条条大路通罗马,一种需求,有很多种编码方式可以实现,如果在实现的基础上进行优化,岂不是更好。

(1)foreach 比for语句具有更好的执行效率。

foreach的平均时间只有for的30%,在两者都可以使用的情况下,建议使用foreach,另外,用for写入数据所花的时间大约是读取数据时间的10倍。

(2)避免使用ArrayList。

因为任何对象添加到ArrayList都要封箱为System.Object类型,从ArrayList取出数据时,要拆箱为实际类型。建议使用泛型集合可以避免装箱和拆箱的发生,从而提高性能。

(3)存放少量数据时可以用HashTable。

(4)为字符串容器声明常量,不要直接把字符封装在双引号(“”)中。

(5)不要用UpperCase、Lowercase转换字符串进行比较,用String.Compare代替。它可以忽略大小写进行比较。

(6)用StringBuilder代替字符串的连接符“+”。

(7)避免在循环体内声明变量,应该在循环体外声明变量,在循环体内初始化。

(8)捕获指定的异常,不要使用通用的System.Exception。

(9)不要用Exception控制程序流程。

捕获异常对性能的损耗是众所周知的。知道的异常最好用if语句来控制程序流程。

(10)使用using或者try/finally来做资源清理。