CLR正在优化我的forloop变量

时间:2011-08-12 21:36:51

标签: c# variables loops for-loop clr

我正在尝试运行一个在数据视图网格中找到特定值的基本循环。我无法弄清楚代码是什么,因为for循环在评估它的基本条件之前退出。

private void SearchDataViewGrid(string FileName)
    {
        //finds the selected entry in the DVG based on the image
            for (int i = 0; i == dataPartsList.Rows.Count ; i++)
            {
                if(FileName == dataPartsList.Rows[i].Cells[3].Value.ToString())
                {
                dataPartsList.Rows[i].Selected = true;
                }
            }
        }

程序没有崩溃,但我的'i'变量声明它已经被优化掉了。尝试了一些我在网上找到的简单修复但似乎没有任何保留它。

我已经验证我传递的字符串是正确的,我的'虚拟'DVG返回包含的行数值14。即使我删除了for循环中的'if'语句,我仍然会得到同样的错误。

2 个答案:

答案 0 :(得分:7)

cond中间的条件for(init; cond; update)不是直到条件,而是条件。

所以你需要把它改成

 for (int i = 0; i < dataPartsList.Rows.Count ; i++)

答案 1 :(得分:2)

问题是你的条件是i == dataPartsList.Rows.Count所以只有当这两个值相等时才会执行。这可以保证您的循环永远不会执行。您需要将条件更改为<而不是==

for (int i = 0; i < dataPartsList.Rows.Count ; i++) {
  ...
}
相关问题