我有关于使用StringBuilder的性能相关问题.在一个很长的循环中,我正在操纵a StringBuilder并将其传递给另一个方法,如下所示:
for (loop condition) {
StringBuilder sb = new StringBuilder();
sb.append("some string");
. . .
sb.append(anotherString);
. . .
passToMethod(sb.toString());
}
Run Code Online (Sandbox Code Playgroud)
StringBuilder在每个循环周期实例化是一个很好的解决方案吗?并且更好地调用删除,如下所示?
StringBuilder sb = new StringBuilder();
for (loop condition) {
sb.delete(0, sb.length);
sb.append("some string");
. . .
sb.append(anotherString);
. . .
passToMethod(sb.toString());
}
Run Code Online (Sandbox Code Playgroud) 问:
哪一个是性能明智的:清除字符串构建器
AStringBuilder.Remove(0,AStringBuilder.Length);
Run Code Online (Sandbox Code Playgroud)
string theString = AStringBuilder.ToString();
ABuilder.Replace(theString,String.Empty);
Run Code Online (Sandbox Code Playgroud)
AStringBuilder.Length = 0;
Run Code Online (Sandbox Code Playgroud)
注意:我使用不包含Clear()方法的Framework 3.5 .