Questo è il mio codice:ciclo while in C# con più condizioni
while(Func(x) != ERR_D)
{
if(result == ERR_A)
throw...;
if(result == ERR_B)
throw...;
mydata.x = x;
}
Il problema è che io voglio usare result = Func(x)
nella condizione, mentre in seguito sarà controllato all'interno del ciclo while. Il ciclo while dovrebbe chiamare Func(x)
fino a quando non restituisce ERR_D
. Non posso usare
do{
result = Func(x);
if(result == ERR_A)
throw ...;
if(result == ERR_B)
throw ...;
mydata.x = x;
}while(result != ERR_D);
nel mio progetto come chiama prima Func(x)
che è quello che non voglio. Ma ho provato while(result = Func(x) != ERR_D)
, non funziona. Qualche idea per risolvere questo?
Beh, 'x' non cambia mai. Forse ha qualcosa a che fare con questo? Difficile a dirsi, dal momento che "non funziona" potrebbe significare quasi tutto e non abbiamo idea di cosa dovrebbe succedere. –
'var result = Func (x); while (risultato! = ERR_D) {doStuff(); risultato = Func (x); } '? – Corak
Ha davvero senso gettare le eccezioni in un ciclo? il ciclo terminerà non appena ne viene lanciato uno ... –