UInt16.Parse UInt16.Parse UInt16.Parse UInt16.Parse Method

Definição

Converte a representação da cadeia de caracteres de um número no inteiro não assinado de 16 bits equivalente.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

Sobrecargas

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

Converte a representação de cadeia de caracteres de um número em um formato específico à cultura e estilo especificados no seu inteiro sem sinal de 16 bits equivalente.Converts the string representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Converte a representação de cadeia de caracteres de um número em um estilo especificado em um inteiro sem sinal de 16 bits equivalente.Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.

Este método não é compatível com CLS.This method is not CLS-compliant. A alternativa compatível com CLS é Parse(String, NumberStyles).The CLS-compliant alternative is Parse(String, NumberStyles).

Parse(String) Parse(String) Parse(String) Parse(String)

Converte a representação da cadeia de caracteres de um número no inteiro não assinado de 16 bits equivalente.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Converte a representação de cadeia de caracteres de um número em um formato específico à cultura especificado no seu inteiro sem sinal de 16 bits equivalente.Converts the string representation of a number in a specified culture-specific format to its 16-bit unsigned integer equivalent.

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

Importante

Esta API não está em conformidade com CLS.

Alternativa em conformidade com CLS
System.Int32.Parse(String)

Converte a representação de cadeia de caracteres de um número em um formato específico à cultura e estilo especificados no seu inteiro sem sinal de 16 bits equivalente.Converts the string representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent.

public:
 static System::UInt16 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static ushort Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint16
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As UShort

Parâmetros

s
String String String String

Uma cadeia de caracteres que representa o número a ser convertido.A string that represents the number to convert. A cadeia de caracteres é interpretada usando-se o estilo especificado pelo parâmetro style.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Uma combinação bit a bit de valores de enumeração que indicam os elementos de estilo que podem estar presentes em s.A bitwise combination of enumeration values that indicate the style elements that can be present in s. Um valor típico a ser especificado é Integer.A typical value to specify is Integer.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Um objeto que fornece informações de formatação específicas de cultura sobre s.An object that supplies culture-specific formatting information about s.

Retornos

Um inteiro sem sinal de 16 bits equivalente ao número especificado em s.A 16-bit unsigned integer equivalent to the number specified in s.

Exceções

style não é um valor NumberStyles.style is not a NumberStyles value.

- ou --or- style não é uma combinação de valores AllowHexSpecifier e HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

s não está em um formato em conformidade com style.s is not in a format compliant with style.

s representa um número que é menor que MinValue ou maior que MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

- ou --or- s inclui dígitos fracionários, diferentes de zero.s includes non-zero, fractional digits.

Exemplos

O exemplo a seguir usa o Parse(String, NumberStyles, IFormatProvider) método para converter diversas representações de cadeia de caracteres de números em valores inteiros sem sinal de 16 bits.The following example uses the Parse(String, NumberStyles, IFormatProvider) method to convert various string representations of numbers to 16-bit unsigned integer values.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] cultureNames = { "en-US", "fr-FR" };
      NumberStyles[] styles= { NumberStyles.Integer, 
                               NumberStyles.Integer | NumberStyles.AllowDecimalPoint };
      string[] values = { "1702", "+1702.0", "+1702,0", "-1032.00",
                          "-1032,00", "1045.1", "1045,1" };
      
      // Parse strings using each culture
      foreach (string cultureName in cultureNames)
      {
         CultureInfo ci = new CultureInfo(cultureName);
         Console.WriteLine("Parsing strings using the {0} culture", 
                           ci.DisplayName);
         // Use each style.
         foreach (NumberStyles style in styles)
         {
            Console.WriteLine("   Style: {0}", style.ToString());
            // Parse each numeric string.
            foreach (string value in values)
            {
               try {
                  Console.WriteLine("      Converted '{0}' to {1}.", value, 
                                    UInt16.Parse(value, style, ci));
               }                                    
               catch (FormatException) {
                  Console.WriteLine("      Unable to parse '{0}'.", value);   
               }
               catch (OverflowException) {
                  Console.WriteLine("      '{0}' is out of range of the UInt16 type.", 
                                    value);
               }
            }
         }
      }   
   }
}
// The example displays the following output:
//       Parsing strings using the English (United States) culture
//          Style: Integer
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Unable to parse '+1702,0'.
//             Unable to parse '-1032.00'.
//             Unable to parse '-1032,00'.
//             Unable to parse '1045.1'.
//             Unable to parse '1045,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '1702' to 1702.
//             Converted '+1702.0' to 1702.
//             Unable to parse '+1702,0'.
//             '-1032.00' is out of range of the UInt16 type.
//             Unable to parse '-1032,00'.
//             '1045.1' is out of range of the UInt16 type.
//             Unable to parse '1045,1'.
//       Parsing strings using the French (France) culture
//          Style: Integer
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Unable to parse '+1702,0'.
//             Unable to parse '-1032.00'.
//             Unable to parse '-1032,00'.
//             Unable to parse '1045.1'.
//             Unable to parse '1045,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Converted '+1702,0' to 1702.
//             Unable to parse '-1032.00'.
//             '-1032,00' is out of range of the UInt16 type.
//             Unable to parse '1045.1'.
//             '1045,1' is out of range of the UInt16 type.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "fr-FR" }
      Dim styles() As NumberStyles = { NumberStyles.Integer, _
                                       NumberStyles.Integer Or NumberStyles.AllowDecimalPoint }
      Dim values() As String = { "1702", "+1702.0", "+1702,0", "-1032.00", _
                                 "-1032,00", "1045.1", "1045,1" }
      
      ' Parse strings using each culture
      For Each cultureName As String In cultureNames
         Dim ci As New CultureInfo(cultureName)
         Console.WriteLine("Parsing strings using the {0} culture", ci.DisplayName)
         ' Use each style.
         For Each style As NumberStyles In styles
            Console.WriteLine("   Style: {0}", style.ToString())
            ' Parse each numeric string.
            For Each value As String In values
               Try
                  Console.WriteLine("      Converted '{0}' to {1}.", value, _
                                    UInt16.Parse(value, style, ci))
               Catch e As FormatException
                  Console.WriteLine("      Unable to parse '{0}'.", value)   
               Catch e As OverflowException
                  Console.WriteLine("      '{0}' is out of range of the UInt16 type.", _
                                    value)         
               End Try
            Next
         Next
      Next                                    
   End Sub
End Module
' The example displays the following output:
'       Parsing strings using the English (United States) culture
'          Style: Integer
'             Converted '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Unable to parse '+1702,0'.
'             Unable to parse '-1032.00'.
'             Unable to parse '-1032,00'.
'             Unable to parse '1045.1'.
'             Unable to parse '1045,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '1702' to 1702.
'             Converted '+1702.0' to 1702.
'             Unable to parse '+1702,0'.
'             '-1032.00' is out of range of the UInt16 type.
'             Unable to parse '-1032,00'.
'             '1045.1' is out of range of the UInt16 type.
'             Unable to parse '1045,1'.
'       Parsing strings using the French (France) culture
'          Style: Integer
'             Converted '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Unable to parse '+1702,0'.
'             Unable to parse '-1032.00'.
'             Unable to parse '-1032,00'.
'             Unable to parse '1045.1'.
'             Unable to parse '1045,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Converted '+1702,0' to 1702.
'             Unable to parse '-1032.00'.
'             '-1032,00' is out of range of the UInt16 type.
'             Unable to parse '1045.1'.
'             '1045,1' is out of range of the UInt16 type.

Comentários

O parâmetro style define os elementos de estilo (como o espaço em branco ou o símbolo de sinal positivo ou negativo) que são permitidos no parâmetro s para que a operação de análise seja bem-sucedida.The style parameter defines the style elements (such as white space or the positive or negative sign symbol) that are allowed in the s parameter for the parse operation to succeed. Ele deve ser uma combinação de sinalizadores de bits da enumeração NumberStyles.It must be a combination of bit flags from the NumberStyles enumeration.

Dependendo do valor de style, o parâmetro s pode incluir os seguintes elementos:Depending on the value of style, the s parameter may include the following elements:

[ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws][ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws]

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. Se style inclui NumberStyles.AllowHexSpecifier, o s parâmetro pode incluir os seguintes elementos:If style includes NumberStyles.AllowHexSpecifier, the s parameter may include the following elements:

[ws]hexdigits[ws][ws]hexdigits[ws]

A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
wsws Espaço em branco opcional.Optional white space. Espaço em branco pode ser exibido no início de s caso style inclua o sinalizador NumberStyles.AllowLeadingWhite e pode ser exibido no final de s caso style inclua o sinalizador NumberStyles.AllowTrailingWhite.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Um símbolo de moeda específico de cultura.A culture-specific currency symbol. Sua posição na cadeia de caracteres é definida pela CurrencyPositivePattern propriedade do NumberFormatInfo objeto que é retornado pelo GetFormat método da provider parâmetro.Its position in the string is defined by the CurrencyPositivePattern property of the NumberFormatInfo object that is returned by the GetFormat method of the provider parameter. O símbolo de moeda pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowCurrencySymbol.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Um sinal opcional.An optional sign. (O método lança um OverflowException se s inclui um sinal negativo e representa um número diferente de zero.) O sinal pode ser exibido no início da s se style inclui as NumberStyles.AllowLeadingSign sinalizador e ele pode ser exibido o final do s se style inclui o NumberStyles.AllowTrailingSign sinalizador.(The method throws an OverflowException if s includes a negative sign and represents a non-zero number.) The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear the end of s if style includes the NumberStyles.AllowTrailingSign flag. Os parênteses podem ser usados em s para indicar um valor negativo caso style inclua o sinalizador NumberStyles.AllowParentheses.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
digitsdigits Uma sequência de dígitos de 0 a 9.A sequence of digits from 0 through 9.
.. Um símbolo de vírgula decimal específico de cultura.A culture-specific decimal point symbol. O símbolo da vírgula decimal da cultura atual pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits Uma ou mais ocorrências do dígito 0-9 caso style inclua o sinalizador NumberStyles.AllowExponent ou uma ou mais ocorrências do dígito 0 do contrário.One or more occurrences of the digit 0-9 if style includes the NumberStyles.AllowExponent flag, or one or more occurrences of the digit 0 if it does not. Os dígitos fracionários só podem ser exibidos em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
EE O caractere "e" ou "E", que indica que o valor é representado em notação exponencial (científica).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. O parâmetro s pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential_digitsexponential_digits Uma sequência de dígitos de 0 a 9.A sequence of digits from 0 through 9. O parâmetro s pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Uma sequência de dígitos hexadecimais de 0 a f ou de 0 a F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Observação

Quaisquer caracteres de (U + 0000) terminação NUL no s são ignorados pela operação de análise, independentemente do valor de style argumento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Uma cadeia de caracteres apenas com dígitos decimais (que corresponde ao estilo NumberStyles.None ) sempre é analisada com êxito.A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully. A maioria dos elementos de controle de membros NumberStyles restantes que podem estar presentes, mas que não precisam estar presentes, na cadeia de caracteres de entrada.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in this input string. A tabela a seguir indica como os membros NumberStyles individuais afetam os elementos que podem estar presentes em s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Valores NumberStyles não compostosNon-composite NumberStyles values Elementos permitidos em s além de dígitosElements permitted in s in addition to digits
NumberStyles.None Somente dígitos decimais.Decimal digits only.
NumberStyles.AllowDecimalPoint O ponto decimal (.) e dígitos fracionários elementos.The decimal point (.) and fractional_digits elements. No entanto, se o estilo não inclua o NumberStyles.AllowExponent sinalizador dígitos fracionários deve consistir em apenas um ou mais dígitos 0; caso contrário, um OverflowException é gerada.However, if style does not include the NumberStyles.AllowExponent flag, fractional_digits must consist of only one or more 0 digits; otherwise, an OverflowException is thrown.
NumberStyles.AllowExponent O "e" ou o caractere "E, que indica a notação exponencial, juntamente com" exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
NumberStyles.AllowLeadingWhite O elemento ws no início de s.The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite O elemento ws no final de s.The ws element at the end of s.
NumberStyles.AllowLeadingSign Um sinal antes dígitos.A sign before digits.
NumberStyles.AllowTrailingSign Um sinal após dígitos.A sign after digits.
NumberStyles.AllowParentheses Parênteses antes e depois dígitos para indicar um valor negativo.Parentheses before and after digits to indicate a negative value.
NumberStyles.AllowThousands O separador de grupo (,) elemento.The group separator (,) element.
NumberStyles.AllowCurrencySymbol A moeda ($) elemento.The currency ($) element.

Caso o sinalizador NumberStyles.AllowHexSpecifier seja usado, s deve ser um valor hexadecimal.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value. Os dígitos hexadecimais válidos são de 0 a 9, da-f e A até F. Um prefixo, como "0x", não é suportado e faz com que a operação de análise falha.Valid hexadecimal digits are 0 through 9, a through f, and A through F. A prefix, such as "0x", is not supported and causes the parse operation to fail. Os únicos outros sinalizadores que podem ser combinados com NumberStyles.AllowHexSpecifier estão NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite.The only other flags that can be combined with NumberStyles.AllowHexSpecifier are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (A enumeração de NumberStyles inclui um estilo de número composto, NumberStyles.HexNumber, que inclui ambos os sinalizadores de espaço em branco.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Observação

Caso o parâmetro s seja a representação da cadeia de caracteres de um número hexadecimal, ele não pode ser precedido por uma decoração (como 0x ou &h) que o diferencia como um número hexadecimal.If the s parameter is the string representation of a hexadecimal number, it cannot be preceded by any decoration (such as 0x or &h) that differentiates it as a hexadecimal number. Isso faz a operação de análise lançar uma exceção.This causes the parse operation to throw an exception.

O parâmetro provider é uma implementação de IFormatProvider cujo método GetFormat retorna um objeto NumberFormatInfo que fornece informações de cultura específica sobre o formato de s.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. Existem três maneiras de usar o parâmetro provider para fornecer informações de formatação personalizadas para a operação de análise:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • É possível passar o objeto real NumberFormatInfo que fornece informações de formatação.You can pass the actual NumberFormatInfo object that provides formatting information. (Sua implementação de GetFormat retorna apenas ele próprio.)(Its implementation of GetFormat simply returns itself.)

  • É possível passar um objeto CultureInfo que especifica a cultura cuja formatação deve ser usada.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. A propriedade NumberFormat fornece informações de formatação.Its NumberFormat property provides formatting information.

  • É possível passar uma implementação de IFormatProvider personalizada.You can pass a custom IFormatProvider implementation. O método GetFormat deve criar uma instância e retornar o objeto NumberFormatInfo que fornece informações de formatação.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Caso provider seja null, o objeto NumberFormatInfo da cultura atual é usado.If provider is null, the NumberFormatInfo object for the current culture is used.

Veja também

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Importante

Esta API não está em conformidade com CLS.

[System.CLSCompliant(false)]
public static ushort Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = null);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> uint16
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = null) As UShort

Parâmetros

Retornos

Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Importante

Esta API não está em conformidade com CLS.

Converte a representação de cadeia de caracteres de um número em um estilo especificado em um inteiro sem sinal de 16 bits equivalente.Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.

Este método não é compatível com CLS.This method is not CLS-compliant. A alternativa compatível com CLS é Parse(String, NumberStyles).The CLS-compliant alternative is Parse(String, NumberStyles).

public:
 static System::UInt16 Parse(System::String ^ s, System::Globalization::NumberStyles style);
[System.CLSCompliant(false)]
public static ushort Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> uint16
Public Shared Function Parse (s As String, style As NumberStyles) As UShort

Parâmetros

s
String String String String

Uma cadeia de caracteres que representa o número a ser convertido.A string that represents the number to convert. A cadeia de caracteres é interpretada usando-se o estilo especificado pelo parâmetro style.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Um combinação bit a bit de valores de enumeração que especificam o formato permitido de s.A bitwise combination of the enumeration values that specify the permitted format of s. Um valor típico a ser especificado é Integer.A typical value to specify is Integer.

Retornos

Um inteiro sem sinal de 16 bits equivalente ao número especificado em s.A 16-bit unsigned integer equivalent to the number specified in s.

Exceções

style não é um valor NumberStyles.style is not a NumberStyles value.

- ou --or- style não é uma combinação de valores AllowHexSpecifier e HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

s não está em um formato em conformidade com style.s is not in a format compliant with style.

s representa um número menor que MinValue ou maior que MaxValue.s represents a number less than MinValue or greater than MaxValue.

- ou --or- s inclui dígitos fracionários, diferentes de zero.s includes non-zero, fractional digits.

Exemplos

O exemplo a seguir tenta analisar cada elemento em uma matriz de cadeia de caracteres usando um número de NumberStyles valores.The following example tries to parse each element in a string array by using a number of NumberStyles values.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values = { " 214 ", "1,064", "(0)", "1241+", " + 214 ", " +214 ", "2153.0", "1e03", "1300.0e-2" };
      NumberStyles whitespace =  NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite;
      NumberStyles[] styles = { NumberStyles.None, whitespace, 
                                NumberStyles.AllowLeadingSign | NumberStyles.AllowTrailingSign | whitespace, 
                                NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol, 
                                NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint };

      // Attempt to convert each number using each style combination.
      foreach (string value in values)
      {
         Console.WriteLine("Attempting to convert '{0}':", value);
         foreach (NumberStyles style in styles)
         {
            try {
               ushort number = UInt16.Parse(value, style);
               Console.WriteLine("   {0}: {1}", style, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   {0}: Bad Format", style);
            }
         }
         Console.WriteLine();
      }
   }
}
// The example display the following output:
//    Attempting to convert ' 214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214
//       Integer, AllowTrailingSign: 214
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 1241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 214
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '2153.0':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 2153
//    
//    Attempting to convert '1e03':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 1000
//    
//    Attempting to convert '1300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 13
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { " 214 ", "1,064", "(0)", "1241+", " + 214 ", " +214 ", "2153.0", "1e03", "1300.0e-2" }
      Dim whitespace As NumberStyles =  NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite
      Dim styles() As NumberStyles = { NumberStyles.None, _
                                       whitespace, _
                                       NumberStyles.AllowLeadingSign Or NumberStyles.AllowTrailingSign Or whitespace, _
                                       NumberStyles.AllowThousands Or NumberStyles.AllowCurrencySymbol, _
                                       NumberStyles.AllowExponent Or NumberStyles.AllowDecimalPoint }

      ' Attempt to convert each number using each style combination.
      For Each value As String In values
         Console.WriteLine("Attempting to convert '{0}':", value)
         For Each style As NumberStyles In styles
            Try
               Dim number As UShort = UInt16.Parse(value, style)
               Console.WriteLine("   {0}: {1}", style, number)
            Catch e As FormatException
               Console.WriteLine("   {0}: Bad Format", style)
            End Try         
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'    Attempting to convert ' 214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: 214
'       Integer, AllowTrailingSign: 214
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '1,064':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: 1064
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '(0)':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '1241+':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 1241
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' + 214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' +214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 214
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '2153.0':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 2153
'    
'    Attempting to convert '1e03':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 1000
'    
'    Attempting to convert '1300.0e-2':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 13

Comentários

O style parâmetro define os elementos de estilo (como espaço em branco, o símbolo de sinal positivo ou negativo, o símbolo de separador de grupo ou o símbolo de ponto decimal) que são permitidos no s parâmetro para a operação de análise seja bem-sucedida.The style parameter defines the style elements (such as white space, the positive or negative sign symbol, the group separator symbol, or the decimal point symbol) that are allowed in the s parameter for the parse operation to succeed. style deve ser uma combinação de sinalizadores de bit do NumberStyles enumeração.style must be a combination of bit flags from the NumberStyles enumeration. O style parâmetro torna esse método de sobrecarga útil quando s contém a representação de cadeia de caracteres de um valor hexadecimal, quando o sistema de número (decimal ou hexadecimal) representado por s for conhecido somente em tempo de execução, ou quando você para não permitir espaço em branco ou um sinal de símbolo no s.The style parameter makes this method overload useful when s contains the string representation of a hexadecimal value, when the number system (decimal or hexadecimal) represented by s is known only at run time, or when you want to disallow white space or a sign symbol in s.

Dependendo do valor de style, o parâmetro s pode incluir os seguintes elementos:Depending on the value of style, the s parameter may include the following elements:

[ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws][ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. Caso style inclua NumberStyles.AllowHexSpecifier, o parâmetro s pode conter os seguintes elementos:If style includes NumberStyles.AllowHexSpecifier, the s parameter may contain the following elements:

[ws]hexdigits[ws][ws]hexdigits[ws]

A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
wsws Espaço em branco opcional.Optional white space. Espaço em branco podem aparecer no início da s se style inclui as NumberStyles.AllowLeadingWhite sinalizador e ele podem ser exibido no final da s se style inclui o NumberStyles.AllowTrailingWhite sinalizador.White space can appear at the start of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Um símbolo de moeda específico de cultura.A culture-specific currency symbol. A posição na cadeia de caracteres é definida pelas propriedades NumberFormatInfo.CurrencyNegativePattern e NumberFormatInfo.CurrencyPositivePattern da cultura atual.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. O símbolo de moeda da cultura atual pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowCurrencySymbol.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Um sinal opcional.An optional sign. O sinal pode ser exibido no início de s caso style inclua o sinalizador NumberStyles.AllowLeadingSign e ele pode ser exibido no final de s caso style inclua o sinalizador NumberStyles.AllowTrailingSign.The sign can appear at the start of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. Os parênteses podem ser usados em s para indicar um valor negativo caso style inclua o sinalizador NumberStyles.AllowParentheses.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag. No entanto, o símbolo de sinal negativo só pode ser usado com zero; do contrário, o método lança um OverflowException.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
digitsdigits

fractional_digitsfractional_digits

exponential_digitsexponential_digits
Uma sequência de dígitos de 0 a 9.A sequence of digits from 0 through 9. Para fractional_digits, apenas o dígito 0 é válido.For fractional_digits, only the digit 0 is valid.
,, Um símbolo de separador do grupo específico da cultura.A culture-specific group separator symbol. Separador de grupo da cultura atual pode aparecer em s se style inclui o NumberStyles.AllowThousands sinalizador.The current culture's group separator can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Um símbolo de vírgula decimal específico de cultura.A culture-specific decimal point symbol. O símbolo da vírgula decimal da cultura atual pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag. Apenas o dígito 0 pode aparecer como um dígito fracionário para que a operação de análise seja bem-sucedida; Se fractional_digits inclua qualquer outro dígito, um FormatException é gerada.Only the digit 0 can appear as a fractional digit for the parse operation to succeed; if fractional_digits includes any other digit, a FormatException is thrown.
EE O caractere "e" ou "E", que indica que o valor é representado em notação exponencial (científica).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. O parâmetro s pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Uma sequência de dígitos hexadecimais de 0 a f ou de 0 a F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Observação

Quaisquer caracteres de (U + 0000) terminação NUL no s são ignorados pela operação de análise, independentemente do valor de style argumento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Uma cadeia de caracteres apenas com dígitos (que corresponde ao estilo NumberStyles.None ) sempre é analisada com êxito.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully. A maioria dos elementos de controle de membros NumberStyles restantes que podem estar presentes, mas que não precisam estar presentes, na cadeia de caracteres de entrada.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in the input string. A tabela a seguir indica como os membros NumberStyles individuais afetam os elementos que podem estar presentes em s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Valor NumberStylesNumberStyles value Elementos permitidos em s além de dígitosElements permitted in s in addition to digits
None O dígitos apenas o elemento.The digits element only.
AllowDecimalPoint O vírgula decimal (,) e dígitos fracionários elementos.The decimal point (.) and fractional-digits elements.
AllowExponent O "e" ou o caractere "E, que indica a notação exponencial, juntamente com" exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
AllowLeadingWhite O ws elemento no início de s.The ws element at the start of s.
AllowTrailingWhite O elemento ws no final de s.The ws element at the end of s.
AllowLeadingSign O sinal elemento no início de s.The sign element at the start of s.
AllowTrailingSign O elemento sinal no final de s.The sign element at the end of s.
AllowParentheses O elemento sinal na forma de parênteses que incluem o valor numérico.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands O elemento separador do grupo (,).The group separator (,) element.
AllowCurrencySymbol O elemento de moeda ($).The currency ($) element.
Currency Todos os elementos.All elements. No entanto, s não pode representar um número hexadecimal ou um número em notação exponencial.However, s cannot represent a hexadecimal number or a number in exponential notation.
Float O ws elemento no início ou final do s, sign no início do se o ponto decimal (.) símbolo.The ws element at the start or end of s, sign at the start of s, and the decimal point (.) symbol. O parâmetro s também pode usar notação exponencial.The s parameter can also use exponential notation.
Number O ws, sign, separador de grupo (,) e o ponto decimal (.) elementos.The ws, sign, group separator (,), and decimal point (.) elements.
Any Todos os elementos.All elements. No entanto, s não pode representar um número hexadecimal.However, s cannot represent a hexadecimal number.

Ao contrário de outros NumberStyles valores, que permitem, mas não exigem a presença de elementos de estilo específico s, o NumberStyles.AllowHexSpecifier valor de estilo significa que os caracteres individuais nos s sempre são interpretados como caracteres hexadecimais.Unlike the other NumberStyles values, which allow for, but do not require, the presence of particular style elements in s, the NumberStyles.AllowHexSpecifier style value means that the individual numeric characters in s are always interpreted as hexadecimal characters. Os caracteres hexadecimais válidos são 0-9, A-F e a-f.Valid hexadecimal characters are 0-9, A-F, and a-f. Um prefixo, como "0x", não é suportado e faz com que a operação de análise falha.A prefix, such as "0x", is not supported and causes the parse operation to fail. Os únicos outros sinalizadores que podem ser combinados com o parâmetro style são NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the style parameter are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (A enumeração de NumberStyles inclui um estilo de número composto, NumberStyles.HexNumber, que inclui ambos os sinalizadores de espaço em branco.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Observação

Caso s seja a representação da cadeia de caracteres de um número hexadecimal, ele não pode ser precedido por qualquer decoração (como 0x ou &h) que o diferencia como um número hexadecimal.If s is the string representation of a hexadecimal number, it cannot be preceded by any decoration (such as 0x or &h) that differentiates it as a hexadecimal number. Isso faz a conversão falhar.This causes the conversion to fail.

O parâmetro s é analisado usando-se as informações de formatação em um objeto NumberFormatInfo que é inicializado para a cultura do sistema atual.The s parameter is parsed by using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Para especificar a cultura cujas informações de formatação são usadas para a operação de análise, chame o Parse(String, NumberStyles, IFormatProvider) de sobrecarga.To specify the culture whose formatting information is used for the parse operation, call the Parse(String, NumberStyles, IFormatProvider) overload.

Veja também

Parse(String) Parse(String) Parse(String) Parse(String)

Importante

Esta API não está em conformidade com CLS.

Alternativa em conformidade com CLS
System.Int32.Parse(String)

Converte a representação da cadeia de caracteres de um número no inteiro não assinado de 16 bits equivalente.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

public:
 static System::UInt16 Parse(System::String ^ s);
[System.CLSCompliant(false)]
public static ushort Parse (string s);
static member Parse : string -> uint16
Public Shared Function Parse (s As String) As UShort

Parâmetros

s
String String String String

Uma cadeia de caracteres que representa o número a ser convertido.A string that represents the number to convert.

Retornos

Um inteiro sem sinal de 16 bits equivalente ao número contido em s.A 16-bit unsigned integer equivalent to the number contained in s.

Exceções

s não está no formato correto.s is not in the correct format.

s representa um número menor que MinValue ou maior que MaxValue.s represents a number less than MinValue or greater than MaxValue.

Exemplos

A exemplo a seguir chama o Parse(String) método para converter cada elemento em uma matriz de cadeia de caracteres em um inteiro sem sinal de 16 bits.The following example calls the Parse(String) method to convert each element in a string array to an unsigned 16-bit integer.

using System;

public class Example
{
   public static void Main()
   {
      string[] values = { "-0", "17", "-12", "185", "66012", "+0", 
                          "", null, "16.1", "28.0", "1,034" };
      foreach (string value in values)
      {
         try {
            ushort number = UInt16.Parse(value);
            Console.WriteLine("'{0}' --> {1}", value, number);
         }
         catch (FormatException) {
            Console.WriteLine("'{0}' --> Bad Format", value);
         }
         catch (OverflowException) {   
            Console.WriteLine("'{0}' --> OverflowException", value);
         }
         catch (ArgumentNullException) {
            Console.WriteLine("'{0}' --> Null", value);
         }
      }                                 
   }
}
// The example displays the following output:
//       '-0' --> 0
//       '17' --> 17
//       '-12' --> OverflowException
//       '185' --> 185
//       '66012' --> OverflowException
//       '+0' --> 0
//       '' --> Bad Format
//       '' --> Null
//       '16.1' --> Bad Format
//       '28.0' --> Bad Format
//       '1,034' --> Bad Format
Module Example
   Public Sub Main()
      Dim values() As String = { "-0", "17", "-12", "185", "66012", _ 
                                 "+0", "", Nothing, "16.1", "28.0", _
                                 "1,034" }
      For Each value As String In values
         Try
            Dim number As UShort = UInt16.Parse(value)
            Console.WriteLine("'{0}' --> {1}", value, number)
         Catch e As FormatException
            Console.WriteLine("'{0}' --> Bad Format", value)
         Catch e As OverflowException   
            Console.WriteLine("'{0}' --> OverflowException", value)
         Catch e As ArgumentNullException
            Console.WriteLine("'{0}' --> Null", value)
         End Try
      Next                                 
   End Sub
End Module
' The example displays the following output:
'       '-0' --> 0
'       '17' --> 17
'       '-12' --> OverflowException
'       '185' --> 185
'       '66012' --> OverflowException
'       '+0' --> 0
'       '' --> Bad Format
'       '' --> Null
'       '16.1' --> Bad Format
'       '28.0' --> Bad Format
'       '1,034' --> Bad Format

Comentários

O s parâmetro deve ser a representação de cadeia de caracteres de um número da seguinte forma.The s parameter should be the string representation of a number in the following form.

[ws][sign]digits[ws][ws][sign]digits[ws]

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
wsws Espaço em branco opcional.Optional white space.
signsign Um sinal opcional.An optional sign. Os caracteres de sinal válido são determinados pelas propriedades NumberFormatInfo.NegativeSign e NumberFormatInfo.PositiveSign da cultura atual.Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the current culture. No entanto, o símbolo de sinal negativo só pode ser usado com zero; do contrário, o método lança um OverflowException.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
digitsdigits Uma sequência de dígitos que varia de 0 a 9.A sequence of digits ranging from 0 to 9. Todos os zeros à esquerda são ignorados.Any leading zeros are ignored.

Observação

A cadeia de caracteres especificada pelo s parâmetro é interpretado usando o NumberStyles.Integer estilo.The string specified by the s parameter is interpreted by using the NumberStyles.Integer style. Ele não pode conter nenhum separador de grupo ou decimal, e não pode ter uma parte decimal.It cannot contain any group separators or decimal separator, and it cannot have a decimal portion.

O parâmetro s é analisado usando-se as informações de formatação em um objeto System.Globalization.NumberFormatInfo que é inicializado para a cultura do sistema atual.The s parameter is parsed by using the formatting information in a System.Globalization.NumberFormatInfo object that is initialized for the current system culture. Para obter mais informações, consulte NumberFormatInfo.CurrentInfo.For more information, see NumberFormatInfo.CurrentInfo. Para analisar uma cadeia de caracteres usando as informações de formatação de uma cultura específica, use o Parse(String, IFormatProvider) método.To parse a string by using the formatting information of a specific culture, use the Parse(String, IFormatProvider) method.

Veja também

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Importante

Esta API não está em conformidade com CLS.

Alternativa em conformidade com CLS
System.Int32.Parse(String)

Converte a representação de cadeia de caracteres de um número em um formato específico à cultura especificado no seu inteiro sem sinal de 16 bits equivalente.Converts the string representation of a number in a specified culture-specific format to its 16-bit unsigned integer equivalent.

public:
 static System::UInt16 Parse(System::String ^ s, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static ushort Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> uint16
Public Shared Function Parse (s As String, provider As IFormatProvider) As UShort

Parâmetros

s
String String String String

Uma cadeia de caracteres que representa o número a ser convertido.A string that represents the number to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Um objeto que fornece informações de formatação específicas de cultura sobre s.An object that supplies culture-specific formatting information about s.

Retornos

Um inteiro sem sinal de 16 bits equivalente ao número especificado em s.A 16-bit unsigned integer equivalent to the number specified in s.

Exceções

s não está no formato correto.s is not in the correct format.

s representa um número menor que MinValue ou maior que MaxValue.s represents a number less than MinValue or greater than MaxValue.

Exemplos

O exemplo a seguir cria uma instância de uma cultura personalizada que usa dois plus assina (+ +) como o sinal de adição.The following example instantiates a custom culture that uses two plus signs (++) as its positive sign. Em seguida, ele chama o Parse(String, IFormatProvider) método para analisar uma matriz de cadeias de caracteres usando CultureInfo objetos que representa essa cultura personalizada e a cultura invariável.It then calls the Parse(String, IFormatProvider) method to parse an array of strings by using CultureInfo objects that represent both this custom culture and the invariant culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // Define a custom culture that uses "++" as a positive sign. 
      CultureInfo ci = new CultureInfo("");
      ci.NumberFormat.PositiveSign = "++";
      // Create an array of cultures.
      CultureInfo[] cultures = { ci, CultureInfo.InvariantCulture };
      // Create an array of strings to parse.
      string[] values = { "++1403", "-0", "+0", "+16034", 
                          Int16.MinValue.ToString(), "14.0", "18012" };
      // Parse the strings using each culture.
      foreach (CultureInfo culture in cultures)
      {
         Console.WriteLine("Parsing with the '{0}' culture.", culture.Name);
         foreach (string value in values)
         {
            try {
               ushort number = UInt16.Parse(value, culture);
               Console.WriteLine("   Converted '{0}' to {1}.", value, number);
            }
            catch (FormatException) {
               Console.WriteLine("   The format of '{0}' is invalid.", value);
            }
            catch (OverflowException) {
               Console.WriteLine("   '{0}' is outside the range of a UInt16 value.", value);
            }               
         }
      }
   }
}
// The example displays the following output:
//       Parsing with the  culture.
//          Converted '++1403' to 1403.
//          Converted '-0' to 0.
//          The format of '+0' is invalid.
//          The format of '+16034' is invalid.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
//       Parsing with the '' culture.
//          The format of '++1403' is invalid.
//          Converted '-0' to 0.
//          Converted '+0' to 0.
//          Converted '+16034' to 16034.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
Imports System.Globalization

Module Example
   Public Sub Main()
      ' Define a custom culture that uses "++" as a positive sign. 
      Dim ci As CultureInfo = New CultureInfo("")
      ci.NumberFormat.PositiveSign = "++"
      ' Create an array of cultures.
      Dim cultures() As CultureInfo = { ci, CultureInfo.InvariantCulture }
      ' Create an array of strings to parse.
      Dim values() As String = { "++1403", "-0", "+0", "+16034", _
                                 Int16.MinValue.ToString(), "14.0", "18012" }
      ' Parse the strings using each culture.
      For Each culture As CultureInfo In cultures
         Console.WriteLine("Parsing with the '{0}' culture.", culture.Name)
         For Each value As String In values
            Try
               Dim number As UShort = UInt16.Parse(value, culture)
               Console.WriteLine("   Converted '{0}' to {1}.", value, number)
            Catch e As FormatException
               Console.WriteLine("   The format of '{0}' is invalid.", value)
            Catch e As OverflowException
               Console.WriteLine("   '{0}' is outside the range of a UInt16 value.", value)
            End Try               
         Next
      Next
   End Sub
End Module
' The example displays the following output:
'       Parsing with the  culture.
'          Converted '++1403' to 1403.
'          Converted '-0' to 0.
'          The format of '+0' is invalid.
'          The format of '+16034' is invalid.
'          '-32768' is outside the range of a UInt16 value.
'          The format of '14.0' is invalid.
'          Converted '18012' to 18012.
'       Parsing with the '' culture.
'          The format of '++1403' is invalid.
'          Converted '-0' to 0.
'          Converted '+0' to 0.
'          Converted '+16034' to 16034.
'          '-32768' is outside the range of a UInt16 value.
'          The format of '14.0' is invalid.
'          Converted '18012' to 18012.

Comentários

O parâmetro s contém um número da forma:The s parameter contains a number of the form:

[ws][sign]digits[ws][ws][sign]digits[ws]

Itens entre colchetes ([ e ]) são opcionais.Items in square brackets ([ and ]) are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
wsws Espaço em branco opcional.Optional white space.
sinalsign Um sinal opcional ou um sinal negativo se s representa o valor zero.An optional sign, or a negative sign if s represents the value zero.
dígitosdigits Uma sequência de dígitos que varia de 0 a 9.A sequence of digits ranging from 0 to 9.

O parâmetro s é interpretado usando o NumberStyles.Integer estilo.The s parameter is interpreted using the NumberStyles.Integer style. Além casas decimais do valor de byte, apenas espaços à direita e, juntamente com um sinal à esquerda é permitido.In addition to the byte value's decimal digits, only leading and trailing spaces along with a leading sign is allowed. (Se presente, o sinal de negativo s deve representar um valor de zero ou o método lança um OverflowException.) Para definir explicitamente os elementos de estilo junto com as informações de formatação específicas da cultura podem estar presentes em s, use o Parse(String, NumberStyles, IFormatProvider) método.(If the negative sign is present, s must represent a value of zero or the method throws an OverflowException.) To explicitly define the style elements together with the culture-specific formatting information that can be present in s, use the Parse(String, NumberStyles, IFormatProvider) method.

O parâmetro provider é uma implementação de IFormatProvider cujo método GetFormat retorna um objeto NumberFormatInfo que fornece informações de cultura específica sobre o formato de s.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. Existem três maneiras de usar o parâmetro provider para fornecer informações de formatação personalizadas para a operação de análise:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • É possível passar o objeto real NumberFormatInfo que fornece informações de formatação.You can pass the actual NumberFormatInfo object that provides formatting information. (Sua implementação de GetFormat retorna apenas ele próprio.)(Its implementation of GetFormat simply returns itself.)

  • É possível passar um objeto CultureInfo que especifica a cultura cuja formatação deve ser usada.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. A propriedade NumberFormat fornece informações de formatação.Its NumberFormat property provides formatting information.

  • É possível passar uma implementação de IFormatProvider personalizada.You can pass a custom IFormatProvider implementation. O método GetFormat deve criar uma instância e retornar o objeto NumberFormatInfo que fornece informações de formatação.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Caso provider seja null, NumberFormatInfo da cultura atual é usado.If provider is null, the NumberFormatInfo for the current culture is used.

Veja também

Aplica-se a