C#代码优化建议系列:正确的使用字符串

字符串应该是所有编程语言中使用最频繁的一种基础数据类型。使用不慎就会为字符串操作所带来的额外开销而付出代价,下面从2个方面来探讨如何规避这类额外的性能开销

1、 确保尽量少的装箱

在使用其他值引用类型到字符串转换时,需要拼接时,应当避免使用操作符“+”来完成,使用引用类型提供的ToString方法。

2、 避免分配额外的内存空间

String对象是一个特殊的对象,它一旦被赋值就不可改变,调用System.String类中的任何方法或进行任何运算,都会在内存中创建一个新的字符串对象,也就意味着要为该对象分配新的内存空间。

如何避免?

使用Stringbuilder

Stringbuilder不会重新创建string对象,默认分配的长度是16,如果Stringbuilder字符小于或等于16,Stringbuilder不会重新分配内存,当Stringbuilder字符长度大于16小于32时,Stringbuilder又会重新分配内存,使之成为16的倍数。Stringbuilder重新分配内存是按照上次的容量加倍进行分配的。

使用String.Format

string.format在内部使用Stringbuilder进行字符串格式化。


如若转载,请注明出处:http://www.codingwhy.com/view/675.html

联系我们

在线咨询: 点击这里给我发消息

邮件:731000228@qq.com