Junior — Middle
Ποια είναι η διαφορά στη συμπεριφορά των μεθόδων TryParse και Parse σε περίπτωση αποτυχίας μετατροπής μιας συμβολοσειράς σε αριθμό;
sobes.tech AI
Απάντηση από AI
Η μέθοδος Parse ρίχνει μια εξαίρεση FormatException ή OverflowException αν η μετατροπή της συμβολοσειράς σε αριθμό αποτύχει, είτε επειδή η συμβολοσειρά δεν ταιριάζει με τη μορφή αριθμού είτε επειδή υπερβαίνει τα όρια του τύπου.
Η μέθοδος TryParse, αντί να ρίχνει εξαίρεση, επιστρέφει μια λογική τιμή false αν η μετατροπή αποτύχει και το αποτέλεσμα τοποθετείται σε μια παράμετρο εξόδου. Αυτό επιτρέπει την αποφυγή διαχείρισης εξαιρέσεων και τη συγγραφή πιο αποδοτικού και ασφαλούς κώδικα.
Παράδειγμα:
string input = "abc";
int number;
// Το `Parse` θα ρίξει εξαίρεση
// int result = int.Parse(input); // FormatException
// Το `TryParse` θα επιστρέψει false χωρίς να ρίξει εξαίρεση
bool success = int.TryParse(input, out number);
if (success)
{
Console.WriteLine($"Μετατροπή σε αριθμό: {number}");
}
else
{
Console.WriteLine("Η μετατροπή απέτυχε");
}