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