C# c中字符串和字符串生成器之间的区别是什么#
C#中的C# c中字符串和字符串生成器之间的区别是什么#,c#,stringbuilder,C#,Stringbuilder,C#中的String和StringBuilder之间是否存在显著差异?您何时会使用其中一种 例如: 使用StringString stringVal=“Hello World!” 或者我们可以使用StringBuilder来实现 StringBuilder sbMyValue = new StringBuilder(""); sbMyValue.Append("Hello World"); 本文简洁地解释了两者之间的区别: 总而言之: 串 String是不可变的,不可变意味着如果您创建Stri
String
和StringBuilder
之间是否存在显著差异?您何时会使用其中一种
例如:
使用StringString stringVal=“Hello World!”
或者我们可以使用StringBuilder来实现
StringBuilder sbMyValue = new StringBuilder("");
sbMyValue.Append("Hello World");
本文简洁地解释了两者之间的区别:
总而言之:
串
String
是不可变的,不可变意味着如果您创建String对象,那么您就不能修改它,并且它总是在内存中创建String类型的新对象。
架线工
StringBuilder
是可变的,这意味着如果创建StringBuilder对象,则可以执行任何操作,如插入、替换或追加,而无需每次创建新实例。它将在内存中的一个位置更新字符串,而不会在内存中创建新空间。
因此,字符串生成器在连接时可以节省大量内存。
StringBuilder
是可变的,当您需要多次操作内容时,它可以提供更好的性能
对于
string
,它必须多次创建实例,因为string是不可变的。StringBuilder
允许更有效地串接字符串。如果将多个单独的字符串连接起来,则会生成所涉及字符串的大量副本(因为它们在C#中是不可变的),而使用StringBuilder
只生成一个副本。在上面的示例中,实际上没有什么不同,而且StringBuilder
可能会增加一些开销。这是一个性能问题。在这里说得最好。[[1]:在C#
中,String和StringBuilder之间是否存在显著差异?是的,这应该是一个注释,而不是一个仅链接的答案。是的。我正要编辑它。已修改。