编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

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进行字符串格式化。


未经允许不得转载: 技术文章 » .NET编程 » C#代码优化建议系列:正确的使用字符串