Junior — Middle
Qual è la differenza nel comportamento tra i metodi TryParse e Parse in caso di fallimento della conversione di una stringa in un numero?
sobes.tech AI
Risposta dell'AI
Il metodo Parse genera un'eccezione FormatException o OverflowException se la conversione della stringa in numero fallisce, sia perché la stringa non corrisponde al formato numerico, sia perché supera i limiti del tipo.
Il metodo TryParse, invece di generare un'eccezione, restituisce un valore booleano false se la conversione non riesce e inserisce il risultato in un parametro di output. Questo permette di evitare la gestione delle eccezioni e di scrivere un codice più efficiente e sicuro.
Esempio:
string input = "abc";
int number;
// Parse genererà un'eccezione
// int result = int.Parse(input); // FormatException
// TryParse restituirà false senza generare eccezioni
bool success = int.TryParse(input, out number);
if (success)
{
Console.WriteLine($"Numero convertito: {number}");
}
else
{
Console.WriteLine("Conversione fallita");
}