假設我們想要遍歷下拉列表中的所有項目,並且在循環時沒有添加或刪除項目。它的代碼如下:環路邊界和性能問題
for (int i = 0; i < ddl.Items.Count; i++)
{
if (ddl.Items[i].Text == text)
{
found = true;
break;
}
}
如果改成這樣:
for (int i = 0, c = ddl.Items.Count; i < c; i++)
{
if (ddl.Items[i].Text == text)
{
found = true;
break;
}
}
是否有任何性能提升?編譯器做些什麼巧妙的每次迭代都不要讀取Count
屬性?
第1步將比較生成的IL。 – AakashM 2009-07-20 07:43:24