这是:
foreach(Type item in myCollection)
{
StringBuilder sb = new StringBuilder();
}
Run Code Online (Sandbox Code Playgroud)
慢得多:
StringBuilder sb = new StringBuilder();
foreach(Type item in myCollection)
{
sb = new StringBuilder();
}
Run Code Online (Sandbox Code Playgroud)
换句话说,我宣布我的地方真的很重要StringBuilder吗?
Blo*_*ard 14
不,在声明它的情况下,性能方面无关紧要.
对于一般代码清洁度,您应该在使用它的最内部范围内声明它 - 即.你的第一个例子.
Sco*_*hic 12
如果你这样写,你可能会获得一些表现:
StringBuilder sb = new StringBuilder();
foreach(Type item in myCollection)
{
sb.Length = 0;
}
Run Code Online (Sandbox Code Playgroud)
因此,您必须仅将StringBuilder实例化一次并重置循环中的大小,这应该比实例化新对象稍快一些.
| 归档时间: |
|
| 查看次数: |
1473 次 |
| 最近记录: |