Wo ist der nicht erreichbare Code?
-
06-07-2019 - |
Frage
int x;
int iHateDataRows = dt.Rows.Count + 2;
System.Data.DataRow[] dra = new System.Data.DataRow[1000];
for(x = 0; x < iHateDataRows; ++x)
Also, das ist natürlich eine Schleife, aber mein Problem ist, dass der ++x
mir sagt, dass es nicht erreichbar ist. Ich weiß nicht, ob dies nur mein IDE ist verrückt oder etwas (ich SharpDevelop verwenden, vor allem, weil VS2008 zu klobig ist und nicht über nette kleine Features, die Ich mag.)
Ich hoffe, dass ich zur Verfügung gestellt genug Informationen für jemanden das Problem zu erraten. Ich habe in dieser Sache sah, änderte sich die Variablen. Alles, wird es nicht von der Stelle.
EDIT:
Dies ist nach dem for-Schleife:
if(dra[x].ItemArray[2].ToString() == "0")
{
return x.ToString();
}
else
{
return "Fail";
}
Ich hoffe, dass dieser Code korrekt ist, wie ich es nie zu testen bekam.
Lösung
Sie kehren immer von der Schleife, bevor es auf die nächste Iteration geht. Das heißt, beide Hälften der „if“ Anweisung Rückkehr. Sie gehen nie an die Spitze der Schleife zurück.
Andere Tipps
Sie haben wahrscheinlich ein break
oder return
(oder, Gott bewahre, goto
) innerhalb der Schleife.
Da entweder das eine oder das andere „if
“ -Klausel in der Schleife ausgeführt wird, wird eine Rückkehr garantiert auftreten, und die Schleife wird nie eine zweite Iteration ausgeführt werden; somit wird der Zuwachs nicht stattfinden.