Jest jakieś polecenie sprawdzające, czy np. iloczyn jakiś liczb będzie przekraczał zakres?
Masz słówko kluczowe checked
[0] - w runtime rzuci wyjątek, w przypadku overflow.
[0] https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/checked
tak, tylko mi chodzi o coś, co by mi zwróciło true, albo false. Bo to wynik funkcji może być overflowem i wtedy chcę zwrócić 0 i wyświetlić komunikat o tym, że nastąpiło przepełnienie
A try
, catch
Próbowałeś?
nie, a jak to powinno wyglądać?
Wszystko Masz w dokumentacji: https://docs.microsoft.com/en-us/dotnet/api/system.overflowexception?view=netframework-4.8
z tego co widzę to chyba nie mam jak tego zastosować w rozwiązaniu mojego problemu.
Może przedstawie go tak:
if( czy_overflow(liczba1 ** liczba2))
{
MessageBox.Show("overflow");
return 0;
}
else return liczba1 * liczba2;
Wstawiasz ten blok w funkcję i tyle:
static bool is_add_int_overflow(int a, int b) {
checked {
try {
int val = a + b;
return false;
}
catch (OverflowException) {
return true;
}
}
}
dzięki działa