Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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#何时使用字符串和stringbuilder_C#_.net_String - Fatal编程技术网

c#何时使用字符串和stringbuilder

c#何时使用字符串和stringbuilder,c#,.net,string,C#,.net,String,关于C#中的字符串操作,可以肯定: 我试了一些,但没能全部得到。请检查我的理由是否有效,并帮助我回答3,4,5 无论如何,您都应该使用StringBuilder,因为它比字符串类型更优化假的(虽然StringBuilder类通常比String类提供更好的性能,但您不应在需要操作字符串时自动使用StringBuilder替换字符串。性能取决于字符串的大小、为新字符串分配的内存量、应用程序正在执行的系统以及操作类型。您应该准备好测试应用程序,以确定StringBuilder是否确实提供了显著的性能改

关于C#中的字符串操作,可以肯定:

我试了一些,但没能全部得到。请检查我的理由是否有效,并帮助我回答3,4,5

  • 无论如何,您都应该使用StringBuilder,因为它比字符串类型更优化假的(虽然StringBuilder类通常比String类提供更好的性能,但您不应在需要操作字符串时自动使用StringBuilder替换字符串。性能取决于字符串的大小、为新字符串分配的内存量、应用程序正在执行的系统以及操作类型。您应该准备好测试应用程序,以确定StringBuilder是否确实提供了显著的性能改进)

  • 字符串在C#中是不可变的,对于字符串上的每次更改,都会为新的内存空间分配新的值。-True(字符串是不可变的类型-即,似乎修改字符串对象的每个操作实际上都会创建一个新字符串)

  • StringBuilder用于不断变化的字符串

  • StringBuilder只能与足够大的字符串一起使用

  • 字符串类型经过优化以适应更改而不会产生太大影响

  • String在C#中是不可变的,但是每次更改都使用相同的内存分配空间–False(String是不可变的类型-也就是说,每次修改String对象的操作实际上都会创建一个新字符串)