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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top