c#中的字符串和字符串构建器有什么区别

时间:2015-09-11 03:08:57

标签: c# stringbuilder

C#中StringStringBuilder之间是否存在显着差异?您何时使用其中一个?

示例:

使用字符串string stringVal = "Hello World!"

或者我们可以使用StringBuilder

来完成
StringBuilder sbMyValue = new StringBuilder("");
sbMyValue.Append("Hello World");

2 个答案:

答案 0 :(得分:1)

StringBuilder是可变的,当您需要多次操作内容时,它会提供更好的性能。

对于string,它必须多次创建实例,因为string是不可变的。

答案 1 :(得分:0)

这篇文章解释了两者之间的差异:link
总结:

TextProperty是不可变的,不可变意味着如果你创建字符串对象然后你不能修改它,它总是在内存中创建字符串类型的新对象。 StringBuilder的

String是可变的,意味着如果创建字符串构建器对象,那么您可以执行任何操作,如插入,替换或追加,而不是每次都创建新实例。它将在内存中的一个位置更新字符串不会创建新空间在记忆中。 因此,字符串构建器在连接时会节省大量内存。