例如,我有一个字符串需要与另一个字符串结合使用
string string1 = "cars"; // the text is just for example
string string2 = "white";
// then
string string1 = string1 + string2;
// or
string string1 += string2;
Run Code Online (Sandbox Code Playgroud)
好吧,乍看没有问题吧?NOPE,确实有问题
当string.length/字符串包含很多字符时(例如,当包含100.000 word时),当我将其放入循环中时,它开始变得迟钝或冻结,因为每次合并string1时,它需要从另一个字符串中复制100.000 word plus word与string2。
是否可以使用其他方法向包含大量单词的字符串添加新文本?
在c#中累积字符串的正确方法是使用StringBuilder。例:
StringBuilder sb = new StringBuilder();
sb.Append("...");
sb.Append("...");
....
var result = sb.ToString()
Run Code Online (Sandbox Code Playgroud)
您的解决方案似乎滞后,因为每次您“修改”一个字符串时,都会创建一个全新的字符串,因此垃圾收集器变得有些疯狂...
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |