C#中String
和StringBuilder
之间是否存在显着差异?您何时使用其中一个?
示例:
使用字符串string stringVal = "Hello World!"
或者我们可以使用StringBuilder
来完成StringBuilder sbMyValue = new StringBuilder("");
sbMyValue.Append("Hello World");
答案 0 :(得分:1)
StringBuilder
是可变的,当您需要多次操作内容时,它会提供更好的性能。
对于string
,它必须多次创建实例,因为string是不可变的。
答案 1 :(得分:0)
这篇文章解释了两者之间的差异:link
总结:
串
TextProperty
是不可变的,不可变意味着如果你创建字符串对象然后你不能修改它,它总是在内存中创建字符串类型的新对象。
StringBuilder的
String
是可变的,意味着如果创建字符串构建器对象,那么您可以执行任何操作,如插入,替换或追加,而不是每次都创建新实例。它将在内存中的一个位置更新字符串不会创建新空间在记忆中。
因此,字符串构建器在连接时会节省大量内存。