.NET Framework 字符串的不变性

例子

字符串是不可变的。您无法更改现有字符串。对字符串的任何操作都会创建一个具有新值的字符串的新实例。这意味着如果您需要替换很长字符串中的单个字符,则会为新值分配内存。

string veryLongString = ...
// 内存已分配
string newString = veryLongString.Remove(0,1); // 删除字符串的第一个字符。

如果您需要对字符串值执行许多操作,请使用专为高效字符串操作而设计的StringBuilder

var sb = new StringBuilder(someInitialString);
foreach(var str in manyManyStrings)
{
    sb.Append(str);
} 
var finalString = sb.ToString();