C#使用技巧

本文提供了15条C#性能优化建议,包括使用StringBuilder替代字符串连接,利用foreach代替for循环,选择HashTable而非其他字典类型,避免ArrayList的装箱拆箱,采用String.Compare进行字符比较等,帮助开发者提升代码效率。
摘要由CSDN通过智能技术生成

1、使用StringBuilder代替使用string 连接符 "+" 2、用foreach 代替 for 循环     //如果是可以使用foreach的时候,尽量用foreach,而不是 for。前者的效率比后者要高很多。 3、使用HashTable 代替其他字典集合类型(如 StringDictionary、NameValueCollection),存放少量数据的时候可以使用HashTable。 4、避免使用ArrayList           //因为ArrayList使用的时候存在装箱、拆箱会造成性能的损失,可以用泛型来代替。     5、如果是字符进行比较的时候可以采用String.Compare,它会忽略大小写进行比较,而不要使用UpperCase、Lowercase转换后进行比较。 6、如果只是从xml对象中读取数据,可以用只读的XPathDocument代替XMLDocument,可以提高性能。 7、C#捕获异常的时候,不要使用通用的System.Exception。可以根据程序逻辑考虑可能出现的异常进行控制 8、要避免在循环体内声明变量,如果可以的化,最好放在循环体外声明,在循环体内初始化 9、采用using和try/finaly来做资源清理 10、不要使用异常(Exception)来控制程序的流程。因为捕获异常对性能的损耗很大,最好不要用异常去控制程序的流程。 11、使用值类型的ToString方法避免装箱操作。因为值类型到引用类型会造成性能的损耗,所以使用值类型的ToString方法可以避免装箱造成的性能损耗 12、避免滥用反射,反射也是比较浪费性能的操作.当使用反射来调用类型或者触发方法,或者访问一个字段或者属性是,CLR需要做很多工作:校验参数、检查权限……所以非常耗时,因此这样的情况下要尽量避免反射的使用。 13.使用using语句进行别名,这个方法适合针对结构体。 14.定义值类型时,它的大小不要超过16字节,否则影响性能(频繁复制时),要么改为使用引用类型,要么让它按ref引用传递。 15.字符串操作     ●字符串字面量、字符串常量,直接用"+"相连效率高,因为:string str = "srf"+"ttt"+"ccc";会直接编译成string str = "srftttccc";,同样适用于字符串常量。     ●尽量避免对变量的装箱:字符串+变量,较好的做法是:字符串+变量.ToString()     ●频繁操作字符串时用StringBuilder,并制定足够大的容量,而string.Format("{0}{1}{2}",str1,str2,str3);内部也是用StringBuilder。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值