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
Stack Overflow inaugura documentação!
Share this on WhatsAppStack Overflow disponibiliza grande acervo de documentações Para quem ainda não conhece, o Stack Overflow é um site de perguntas e respostas técnicas, voltada para o mundo
Curso grátis – Criando Apis robustas em C#
Share this on WhatsAppE ai pessoal beleza? Bom espero que sim, hoje venho divulgar e disponibilizar cupons gratuitos para o curso Criando Apis robustas em C#. O que aprenderei? O
Curso gratuito de Git com Rodrigo Branas
Share this on WhatsAppAprenda tudo sobre o Git agora mesmo Atualmente a maioria dos desenvolvedores utilizam alguma ferramenta para gerenciar o versionamento de seus fontes, desta forma conseguimos voltar uma
0 Comments
No Comments Yet!
You can be first to comment this post!