Sobes.tech
Junior — Middle

V čem spočívá rozdíl chování metod TryParse a Parse při neúspěšném převodu řetězce na číslo?

sobes.tech AI

Odpověď od AI

Metoda Parse vyvolá výjimku FormatException nebo OverflowException, pokud převod řetězce na číslo selže, například protože řetězec neodpovídá formátu čísla nebo přesahuje limity typu.

Metoda TryParse místo vyvolání výjimky vrací logickou hodnotu false, pokud se převod nezdaří, a výsledek uloží do výstupního parametru. To umožňuje vyhnout se zpracování výjimek a psát efektivnější a bezpečnější kód.

Příklad:

string input = "abc";
int number;

// Parse vyvolá výjimku
// int result = int.Parse(input); // FormatException

// TryParse vrátí false bez vyvolání výjimky
bool success = int.TryParse(input, out number);
if (success)
{
    Console.WriteLine($"Převedené číslo: {number}");
}
else
{
    Console.WriteLine("Převod se nezdařil");
}