c#中字符串和字符串构建器的区别是什么?
本文关键字:字符串 区别 是什么 构建 | 更新日期: 2023-09-27 18:12:10
在c#中String
和StringBuilder
之间是否存在显著差异,您何时使用其中一个?
的例子:
使用字符串string stringVal = "Hello World!"
或者我们可以使用StringBuilder
StringBuilder sbMyValue = new StringBuilder("");
sbMyValue.Append("Hello World");
StringBuilder
是可变的,当您需要多次操作内容时可以提供更好的性能。
在string
的情况下,它必须创建实例多次,因为字符串是不可变的。
本文很好地解释了两者的区别:link
总结:
字符串
String
是不可变的,不可变意味着如果你创建了字符串对象,那么你就不能修改它,它总是在内存中创建字符串类型的新对象。Stringbuilder
StringBuilder
是可变的,意味着如果创建字符串生成器对象,那么你可以执行任何操作,如插入,替换或追加,而不必每次都创建新的实例。它将在内存中的一个地方更新字符串,而不会在内存中创建新的空间。因此,String builder在连接时节省了大量内存