无法访问的代码在哪里?

Mas*_*hew 2 c# for-loop sharpdevelop

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

for(x = 0; x < iHateDataRows; ++x)
Run Code Online (Sandbox Code Playgroud)

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

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

编辑:

这是在for循环之后:

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

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

Tal*_*joe 11

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


SLa*_*aks 7

你可能在循环中有一个breakreturn(或,天堂禁止goto).


mqp*_*mqp 5

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