假设我们想要遍历下拉列表中的所有项目,并且在循环时没有添加或删除项目。它的代码如下:环路边界和性能问题
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