Sobes.tech
Junior — Middle

Czym różnią się zachowania metod TryParse i Parse w przypadku nieudanej konwersji ciągu na liczbę?

sobes.tech AI

Odpowiedź od AI

Metoda Parse wyrzuca wyjątek FormatException lub OverflowException, jeśli konwersja ciągu na liczbę się nie powiedzie, ponieważ ciąg nie odpowiada formatowi liczby lub przekracza zakres typu.

Metoda TryParse, zamiast wyrzucać wyjątek, zwraca wartość logiczną false, jeśli konwersja się nie powiodła, i umieszcza wynik w parametrze wyjściowym. Pozwala to uniknąć obsługi wyjątków i pisać bardziej wydajny i bezpieczny kod.

Przykład:

string input = "abc";
int number;

// Parse wyrzuci wyjątek
// int result = int.Parse(input); // FormatException

// TryParse zwróci false, nie wyrzucając wyjątku
bool success = int.TryParse(input, out number);
if (success)
{
    Console.WriteLine($"Przekonwertowana liczba: {number}");
}
else
{
    Console.WriteLine("Konwersja nie powiodła się");
}