是这样的:会在循环内部/外部声明变量会改变性能吗?
foreach(Type item in myCollection)
{
StringBuilder sb = new StringBuilder();
}
比慢得多:
StringBuilder sb = new StringBuilder();
foreach(Type item in myCollection)
{
sb = new StringBuilder();
}
换句话说,它真身在何处,我宣布我的StringBuilder
?
类似于http://stackoverflow.com/questions/2447475/best-practice-for-creating-objects-used-in-for-foreach-loops – 2010-08-02 14:14:38
一个无关的错误是第二个版本应该初始化为null避免超额分配。 – 2010-08-02 14:32:02