To jest mój kod:pętli while w języku C# z wielu warunków
while(Func(x) != ERR_D)
{
if(result == ERR_A)
throw...;
if(result == ERR_B)
throw...;
mydata.x = x;
}
Problemem jest to, że chcę użyć result = Func(x)
w stanie podczas gdy jako wynik zostanie sprawdzone wewnątrz pętli while. Pętla while powinna wywołać Func(x)
, dopóki nie zwróci ERR_D
. Nie mogę korzystać
do{
result = Func(x);
if(result == ERR_A)
throw ...;
if(result == ERR_B)
throw ...;
mydata.x = x;
}while(result != ERR_D);
w moim projekcie, gdyż najpierw wywołuje Func(x)
czyli czego nie chcą. Ale próbowałem while(result = Func(x) != ERR_D)
, to nie działa. Wszelkie pomysły na rozwiązanie tego problemu?
Dobrze, 'nigdy x' zmienia. Może to ma coś z tym wspólnego? Trudno powiedzieć, ponieważ "nie działa" może oznaczać niemal wszystko, a my nie mamy pojęcia, co powinno się wydarzyć. –
'var result = Func (x); while (result! = ERR_D) {doStuff(); result = Func (x); } '? – Corak
Czy naprawdę ma sens dodawanie wyjątków w pętli while? pętla zakończy się, gdy tylko zostanie rzucona ... –