Onde está o código inacessível?
-
06-07-2019 - |
Pergunta
int x;
int iHateDataRows = dt.Rows.Count + 2;
System.Data.DataRow[] dra = new System.Data.DataRow[1000];
for(x = 0; x < iHateDataRows; ++x)
Então, isso é, obviamente, um laço, mas, o meu problema é que o ++x
me diz que é inacessível. Eu não sei se isso é apenas a minha IDE ficando louco ou algo assim (eu uso SharpDevelop, principalmente porque VS2008 é muito desajeitado e não tem pouco nítidas características que eu gosto.)
Espero fornecido informações suficientes para que alguém adivinhar o problema. Eu olhei para essa coisa, mudou as variáveis. Tudo, não vai ceder.
EDIT:
Isto é, após o loop for:
if(dra[x].ItemArray[2].ToString() == "0")
{
return x.ToString();
}
else
{
return "Fail";
}
Espero que este código está correto como eu nunca cheguei a testá-lo.
Solução
Você está sempre retornando a partir do circuito antes que ele vai para a próxima iteração. Isto é, ambas as metades do "se" retorno comunicado. Você nunca voltar para o topo do loop.
Outras dicas
Você provavelmente tem um break
ou return
(ou, Deus nos livre, goto
) dentro do loop.
Uma vez que um ou o outro cláusula "if
" no laço será executado, o retorno é garantido para ocorrer, e o loop nunca vai ficar uma segunda iteração; Assim, o incremento nunca vai ter lugar.