Вопрос

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";
}

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

Это было полезно?

Решение

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top