2
int x;
int iHateDataRows = dt.Rows.Count + 2;
System.Data.DataRow[] dra = new System.Data.DataRow[1000];

for(x = 0; x < iHateDataRows; ++x)

所以,这显然是一个循环,但我的问题是它++x告诉我它无法访问。我不知道这是否只是我的 IDE 疯了还是什么(我使用 SharpDevelop,主要是因为 VS2008 太笨重而且没有我喜欢的整洁的小功能。)

我希望我提供了足够的信息让有人猜测这个问题。我一直盯着这个东西,改变了变量。一切,它不会让步。

编辑:

这是在 for 循环之后:

if(dra[x].ItemArray[2].ToString() == "0")
{
    return x.ToString();
}
else
{
    return "Fail";
}

我当然希望这段代码是正确的,因为我从来没有测试过它。

4

3 回答 3

11

在进入下一次迭代之前,您总是从循环中返回。也就是说,“if”语句的两半都返回。你永远不会回到循环的顶部。

于 2009-06-18T02:06:18.523 回答
7

你可能在循环中有一个breakor return(或者,天堂禁止, )。goto

于 2009-06-18T02:04:37.573 回答
5

由于循环中的一个或另一个“ if”子句将被执行,因此保证会发生返回,并且循环将永远不会运行第二次迭代;因此,增量永远不会发生。

于 2009-06-18T02:07:07.523 回答