¿Dónde está el código inalcanzable?
-
06-07-2019 - |
Pregunta
int x;
int iHateDataRows = dt.Rows.Count + 2;
System.Data.DataRow[] dra = new System.Data.DataRow[1000];
for(x = 0; x < iHateDataRows; ++x)
Entonces, esto es obviamente un bucle, pero mi problema es que el ++ x
me dice que no se puede alcanzar. No sé si esto es solo que mi IDE se está volviendo loco o algo así (uso SharpDevelop, principalmente porque VS2008 es demasiado torpe y no tiene pequeñas características que me gusten).
Espero haber proporcionado suficiente información para que alguien adivine el problema. He observado esto, he cambiado las variables. Todo, no se moverá.
EDITAR:
Esto es después del ciclo for:
if(dra[x].ItemArray[2].ToString() == "0")
{
return x.ToString();
}
else
{
return "Fail";
}
Espero que este código sea correcto, ya que nunca pude probarlo.
Solución
Siempre regresa del bucle antes de pasar a la siguiente iteración. Es decir, ambas mitades del " if " declaración de devolución. Nunca vuelves a la parte superior del bucle.
Otros consejos
Probablemente tenga un break
o return
(o, Dios no lo quiera, goto
) dentro del bucle.
Dado que uno u otro " if
" se ejecutará la cláusula en el bucle, se garantiza que se producirá un retorno y el bucle nunca ejecutará una segunda iteración; por lo tanto, el incremento nunca tendrá lugar.