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。
C#使用技巧
最新推荐文章于 2024-09-06 11:05:24 发布
本文提供了15条C#性能优化建议,包括使用StringBuilder替代字符串连接,利用foreach代替for循环,选择HashTable而非其他字典类型,避免ArrayList的装箱拆箱,采用String.Compare进行字符比较等,帮助开发者提升代码效率。
摘要由CSDN通过智能技术生成