Где находится недоступный код?
-
06-07-2019 - |
Вопрос
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
" предложение в цикле будет выполнено, возврат гарантированно произойдет, и цикл никогда не будет запускать вторую итерацию;таким образом, приращение никогда не произойдет.