Diferenças do int.Parse() e int.TryParse() em C#
Você conhece a diferença dos métodos int.Parse() e int.TryParse() usados no C#?
O objetivo desses métodos são converter uma representação numérica que está no formato de string, ou seja, entre aspas, em um formato inteiro.
A diferença de ambos é a seguinte.
int.Parse()
Caso não consiga converter a string passada por parâmetro é lançada uma exception.
int.TryParse()
Caso não consiga converter a string passada por parâmetro ele retorna o valor zero.
Sua vantagem é que ele não lança exceção se a conversão falhar.
Exceções
Ambas as funções possuem 3 tipos de exceções, são elas:
Exceção | Condição |
---|---|
ArgumentNullException |
string é null.
|
FormatException |
string não esta em um formato válido
|
OverflowException |
string esta fora da faixa dos números inteiros
|
Veja um exemplo:
Veja como tratar e usar o método Int32.Parse()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
try { int numero = Int32.Parse("123"); Console.WriteLine("{0} --> {1}", valor, numero); } catch (FormatException) { Console.WriteLine("{0}: Formato Inválido", valor); } catch (OverflowException) { Console.WriteLine("{0}: Overflow", valor); } catch (ArgumentNullException) { Console.WriteLine("{0}: Valor null", valor); } |
Veja um exemplo simples de como usar o TryParse()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
String[] valores = { null, "16", "9.0", "1,67","-3", "+43", "(100);", "0FA" }; foreach (var valor in valores) { int numero; bool resultado = Int32.TryParse(valor, out numero); if (resultado) { Console.WriteLine("De '{0}' para {1}.", valor, numero); } else { Console.WriteLine("De '{0}' Falhou.",valor == null ? "<null>" : valor); } } Console.ReadLine(); |
TryParse() elimina a necessidade do tratamento de exceção para testar um FormatException no caso do valor a ser convertido ser inválido.
Espero que o artigo tenha ficado claro para você!
Até a próxima pessoal!
About author
You might also like
Primeiras impressões do Visual Studio para o Mac
Share this on WhatsAppMicrosoft disponibiliza Visual Studio para o Mac Hoje a Microsoft anunciou uma nova versão da famosa IDE do Visual Studio para o macOs. Finalmente a empresa vai
Veja como melhorar a performance de seu site!
Share this on WhatsAppConheça dicas para deixar seu site muito mais rápido Hoje resolvi trazer algumas dicas de serviços que poderão te ajudar e muito na performance dos seus sites.
Curso grátis – Dominando Linq e Lambda Expressions com C#
Share this on WhatsAppLinq é um set de recursos introduzidos no framework do dotnet que nos permite trabalhar com coleções de dados de uma forma muito eficaz. Se você deseja
0 Comments
No Comments Yet!
You can be first to comment this post!