我正在为一个 C# 项目处理大量 string
数据。我对应该使用哪种方法来操作我的 string
数据感到困惑。
第一种方法:
StringBuilder myString = new StringBuilder().Append(' ', 1024);
while(someString[++counter] != someChar)
myString[i++] += someString[counter];
第二种方法:
String myString = new String();
int i = counter;
while(soumeString[++counter] != someChar);
myString = someString.SubString(i, counter - i);
两者中哪一个会更快(更高效)?考虑到我正在使用的字符串很大。
字符串已经在 RAM
中。
字符串的大小可以在 32MB-1GB 之间变化。
最佳答案
您应该使用 IndexOf
而不是在循环中对单个字符进行操作,并将整个字符串 block 添加到结果中:
StringBuilder myString = new StringBuilder();
int pos = someString.IndexOf(someChar, counter);
myString.Append(someString.SubString(counter, pos));
关于c# - 字符串操作的更好选择 - .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12113044/