Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método Int32.TryParse (String, Int32)

 

Publicado: agosto de 2016

System_CAPS_noteObservação

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Converte a representação de cadeia de caracteres de um número no inteiro com sinal de 32 bits equivalente. Um valor retornado indica se a conversão foi bem-sucedida.

Namespace:   System
Assembly:  mscorlib (em mscorlib.dll)

public static bool TryParse(
	string s,
	out int result
)

Parâmetros

s
Type: System.String

Uma cadeia de caracteres que contém um número a ser convertido.

result
Type: System.Int32

Quando esse método retornar, conterá o equivalente do valor inteiro com sinal de 32 bits do número contido em s, se a conversão tiver sido bem-sucedida, ou zero, se a conversão tiver falhado. A conversão falhará se o parâmetro s for null ou String.Empty, não estiver em um formato correto ou representar um número menor que MinValue ou maior que MaxValue. Este parâmetro é passado não inicializado; qualquer valor fornecido originalmente em result será substituído.

Valor Retornado

Type: System.Boolean

true caso s tenha sido convertido com êxito; do contrário, false.

O TryParse método é como o Parse método, exceto o TryParse método lançará uma exceção se a conversão falhar. Ele elimina a necessidade de usar a identificação de exceções para testar um FormatException caso esse s seja inválido e não possa ser analisado com êxito.

O parâmetro s contém um número da forma:

[ws][sign]digits[ws]

Itens entre colchetes ([ e ]) são opcionais. A tabela a seguir descreve cada elemento.

Elemento

Descrição

ws

Espaço em branco opcional.

sinal

Um sinal opcional.

dígitos

Uma sequência de dígitos que varia de 0 a 9.

O parâmetro s é interpretado usando-se o estilo NumberStyles.Integer. Além de dígitos decimais, são permitidas somente espaços à direita e junto com um sinal. Para definir explicitamente os elementos de estilo junto com as informações de formatação específica da cultura que podem estar presentes em s, use o Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) método.

O parâmetro s é analisado usando-se as informações de formatação em um objeto NumberFormatInfo inicializado para a cultura do sistema atual. Para obter mais informações, consulte CurrentInfo.

Esta sobrecarga do TryParse método interpreta todos os dígitos de s parâmetro como dígitos decimais. Para analisar a representação de cadeia de caracteres de um número hexadecimal, chame o Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) sobrecarga.

A exemplo a seguir chama o Int32.TryParse(String, Int32) método com um número de valores de cadeia de caracteres diferentes.

using System;

public class Example
{
   public static void Main()
   {
      String[] values = { null, "160519", "9432.0", "16,667",
                          "   -322   ", "+4302", "(100);", "01FA" };
      foreach (var value in values) {
         int number;

         bool result = Int32.TryParse(value, out number);
         if (result)
         {
            Console.WriteLine("Converted '{0}' to {1}.", value, number);         
         }
         else
         {
//            if (value == null) value = ""; 
            Console.WriteLine("Attempted conversion of '{0}' failed.", 
                               value == null ? "<null>" : value);
         }
      }
   }
}
// The example displays the following output:
//       Attempted conversion of '<null>' failed.
//       Converted '160519' to 160519.
//       Attempted conversion of '9432.0' failed.
//       Attempted conversion of '16,667' failed.
//       Converted '   -322   ' to -322.
//       Converted '+4302' to 4302.
//       Attempted conversion of '(100);' failed.
//       Attempted conversion of '01FA' failed.

Algumas das cadeias de caracteres que o TryParse(String, Int32) método é não é possível converter neste exemplo são:

  • "9432.0". A conversão falhar porque a cadeia de caracteres não pode conter um separador decimal; ele deve conter somente dígitos integrais.

  • "16,667". A conversão falhar porque a cadeia de caracteres não pode conter separadores de grupo; ele deve conter somente dígitos integrais.

  • "(100)". A conversão falhar porque a cadeia de caracteres não pode conter um sinal negativo diferente daquele definido a cultura atual NumberFormatInfo.NegativeSign e NumberFormatInfo.NumberNegativePattern propriedades.

  • "01FA". A conversão falhar porque a cadeia de caracteres não pode conter dígitos hexadecimais. ele deve conter somente dígitos decimais.

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 2.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1
Retornar ao início
Mostrar: