Где находится недоступный код? - PullRequest
2 голосов
/ 18 июня 2009
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 слишком громоздкий и не имеет изящных маленьких функций, которые мне нравятся).

Я надеюсь, что предоставил достаточно информации, чтобы кто-то мог догадаться о проблеме. Я смотрел на эту вещь, изменил переменные. Все, это не сдвинется с места.

EDIT:

Это после цикла for:

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

Я уверен, что этот код верен, поскольку я никогда не проверял его.

Ответы [ 3 ]

11 голосов
/ 18 июня 2009

Вы всегда возвращаетесь из цикла, прежде чем он перейдет к следующей итерации. То есть возвращаются обе половины оператора if. Вы никогда не вернетесь к вершине петли.

7 голосов
/ 18 июня 2009

У вас, вероятно, есть break или return (или, не дай бог, goto) внутри цикла.

5 голосов
/ 18 июня 2009

Поскольку в цикле будет выполнено одно или другое условие "if", гарантированно произойдет возврат, и цикл никогда не выполнит вторую итерацию; таким образом, приращение никогда не произойдет.

...