是這樣的:會在循環內部/外部聲明變量會改變性能嗎?
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