Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c中字符串和字符串生成器之间的区别是什么#_C#_Stringbuilder - Fatal编程技术网

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

C#中的
String
StringBuilder
之间是否存在显著差异?您何时会使用其中一种

例如:

使用String
String 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之间是否存在显著差异?是的,这应该是一个注释,而不是一个仅链接的答案。是的。我正要编辑它。已修改。