Sobes.tech
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");
}