UInt16.Parse Metoda

Definicja

Konwertuje ciąg reprezentujący liczbę na odpowiadającą mu 16-bitową liczbę całkowitą bez znaku.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

Przeciążenia

Parse(String, NumberStyles, IFormatProvider)

Konwertuje ciąg reprezentujący liczbę w określonym stylu i formacie specyficznym dla kultury na jego 16-bitową liczbę całkowitą bez znaku.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)

Konwertuje reprezentację zakresu liczby w określonym stylu i formacie specyficznym dla kultury na jego odpowiednik 16-bitową liczbę całkowitą bez znaku.Converts the span representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent.

Parse(String, NumberStyles)

Konwertuje ciąg reprezentujący liczbę w określonym stylu na odpowiadającą jej 16-bitową liczbę całkowitą bez znaku.Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.

Ta metoda jest niezgodna ze specyfikacją CLS.This method is not CLS-compliant. Alternatywa zgodna ze specyfikacją CLS jest Parse(String, NumberStyles).The CLS-compliant alternative is Parse(String, NumberStyles).

Parse(String)

Konwertuje ciąg reprezentujący liczbę na odpowiadającą mu 16-bitową liczbę całkowitą bez znaku.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

Parse(String, IFormatProvider)

Konwertuje ciąg reprezentujący liczbę w określonym formacie specyficznym dla kultury na jego 16-bitową liczbę całkowitą bez znaku.Converts the string representation of a number in a specified culture-specific format to its 16-bit unsigned integer equivalent.

Parse(String, NumberStyles, IFormatProvider)

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Alternatywa zgodna ze specyfikacją CLS
System.Int32.Parse(String)

Konwertuje ciąg reprezentujący liczbę w określonym stylu i formacie specyficznym dla kultury na jego 16-bitową liczbę całkowitą bez znaku.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

Parametry

s
String

Ciąg reprezentujący liczbę, którą należy przekształcić.A string that represents the number to convert. Ciąg jest interpretowany przy użyciu stylu określonego przez parametr style.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles

Bitowa kombinacja wartości wyliczenia wskazująca elementy stylu, które mogą być obecne w s.A bitwise combination of enumeration values that indicate the style elements that can be present in s. Typową wartością do określenia jest Integer.A typical value to specify is Integer.

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury dotyczące s.An object that supplies culture-specific formatting information about s.

Zwraca

16-bitowa liczba całkowita bez znaku równa liczbie określonej w s.A 16-bit unsigned integer equivalent to the number specified in s.

Atrybuty

Wyjątki

s jest null.s is null.

style nie jest wartością NumberStyles.style is not a NumberStyles value.

lub-or- style nie jest kombinacją wartości AllowHexSpecifier i HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

s nie jest w formacie zgodnym z style.s is not in a format compliant with style.

s reprezentuje liczbę, która jest mniejsza niż MinValue lub większa niż MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

lub-or- s zawiera wartości inne niż zero, cyfry ułamkowe.s includes non-zero, fractional digits.

Przykłady

W poniższym przykładzie zastosowano metodę Parse(String, NumberStyles, IFormatProvider), aby skonwertować różne reprezentacje ciągów liczb do 16-bitowych liczb całkowitych bez znaku.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.

Uwagi

style parametr definiuje elementy stylu (takie jak odstępy czy symbol znaku dodatniego lub ujemnego), które są dozwolone w parametrze s dla operacji analizy.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. Musi to być kombinacja flag bitowych z wyliczenia NumberStyles.It must be a combination of bit flags from the NumberStyles enumeration.

W zależności od wartości styleparametr s może zawierać następujące elementy:Depending on the value of style, the s parameter may include the following elements:

[WS] [$] [Sign] cyfry[. fractional_digits] [E [sign]exponential_digits] [WS][ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws]

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne.Elements in square brackets ([ and ]) are optional. Jeśli style zawiera NumberStyles.AllowHexSpecifier, parametr s może zawierać następujące elementy:If style includes NumberStyles.AllowHexSpecifier, the s parameter may include the following elements:

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

W tabeli poniżej opisano każdy element.The following table describes each element.

ElementElement OpisDescription
wsws Opcjonalny odstęp.Optional white space. Biały znak może pojawić się na początku s, jeśli style zawiera flagę NumberStyles.AllowLeadingWhite i może pojawić się na końcu s, jeśli style zawiera flagę 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.
$ Symbol waluty specyficzny dla kultury.A culture-specific currency symbol. Jego pozycja w ciągu jest definiowana przez właściwość CurrencyPositivePattern obiektu NumberFormatInfo, który jest zwracany przez metodę GetFormat parametru provider.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. Symbol waluty może pojawić się w s, jeśli style zawiera flagę NumberStyles.AllowCurrencySymbol.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Opcjonalny znak.An optional sign. (Metoda zgłasza OverflowException, jeśli s zawiera znak ujemny i reprezentuje liczbę różną od zera). Znak może występować na początku s, jeśli style zawiera flagę NumberStyles.AllowLeadingSign i może być wyświetlany koniec s, jeśli style zawiera flagę NumberStyles.AllowTrailingSign.(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. Nawiasy mogą być używane w s, aby wskazać wartość ujemną, jeśli style zawiera flagę NumberStyles.AllowParentheses.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
cyfrdigits Sekwencja cyfr od 0 do 9.A sequence of digits from 0 through 9.
.. Symbol dziesiętny specyficzny dla kultury.A culture-specific decimal point symbol. Symbol dziesiętny bieżącej kultury może pojawić się w s, jeśli style zawiera flagę NumberStyles.AllowDecimalPoint.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits Co najmniej jedno wystąpienie cyfry 0-9, jeśli style zawiera flagę NumberStyles.AllowExponent lub jedno lub więcej wystąpień cyfry 0, jeśli tak nie jest.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. Cyfry ułamkowe mogą występować w s tylko wtedy, gdy style zawiera flagę NumberStyles.AllowDecimalPoint.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
EE Znak „e” lub „E”, który wskazuje, że wartość jest reprezentowana w zapisie wykładniczym (naukowym).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. Parametr s może reprezentować liczbę w notacji wykładniczej, jeśli style zawiera flagę NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential_digitsexponential_digits Sekwencja cyfr od 0 do 9.A sequence of digits from 0 through 9. Parametr s może reprezentować liczbę w notacji wykładniczej, jeśli style zawiera flagę NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Sekwencja cyfr szesnastkowych od 0 do f lub od 0 do F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Uwaga

Wszelkie kończące się znaki NUL (U + 0000) w s są ignorowane przez operację analizowania, niezależnie od wartości argumentu style.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Ciąg z tylko cyframi dziesiętnymi (który odpowiada stylowi NumberStyles.None) zawsze analizuje się prawidłowo.A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully. Większość pozostałych NumberStyles elementów członkowskich kontroluje elementy, które mogą być obecne, ale nie muszą być obecne w tym ciągu wejściowym.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in this input string. Poniższa tabela zawiera informacje o tym, w jaki sposób poszczególne NumberStyles członkowie wpływają na elementy, które mogą być obecne w s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Niezłożone wartości NumberStylesNon-composite NumberStyles values Elementy dozwolone w s oprócz cyfrElements permitted in s in addition to digits
NumberStyles.None Tylko cyfry dziesiętne.Decimal digits only.
NumberStyles.AllowDecimalPoint Elementy dziesiętne (.) i fractional_digits .The decimal point (.) and fractional_digits elements. Jeśli jednak styl nie zawiera flagi NumberStyles.AllowExponent, fractional_digits musi zawierać tylko jedną lub więcej cyfr 0; w przeciwnym razie zostanie zgłoszony OverflowException.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 Znak "e" lub "E", który wskazuje notację wykładniczą oraz exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
NumberStyles.AllowLeadingWhite Element WS na początku s.The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite Element WS na końcu s.The ws element at the end of s.
NumberStyles.AllowLeadingSign Znak przed cyframi.A sign before digits.
NumberStyles.AllowTrailingSign Znak po cyfrach.A sign after digits.
NumberStyles.AllowParentheses Nawiasy przed i po cyfr , aby wskazać wartość ujemną.Parentheses before and after digits to indicate a negative value.
NumberStyles.AllowThousands Element separatora grupy (,).The group separator (,) element.
NumberStyles.AllowCurrencySymbol Element Currency ($).The currency ($) element.

Jeśli jest używana flaga NumberStyles.AllowHexSpecifier, s musi być wartością szesnastkową.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value. Prawidłowe cyfry szesnastkowe to od 0 do 9, od do f i od A do F. Prefiks, taki jak "0x", nie jest obsługiwany i powoduje niepowodzenie operacji analizy.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. Jedyne inne flagi, które mogą być połączone z NumberStyles.AllowHexSpecifierNumberStyles.AllowLeadingWhite i NumberStyles.AllowTrailingWhite.The only other flags that can be combined with NumberStyles.AllowHexSpecifier are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (Wyliczenie NumberStyles zawiera złożony styl liczb, NumberStyles.HexNumber, który obejmuje flagi białych znaków).(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Uwaga

Jeśli parametr s to ciąg reprezentujący liczbę szesnastkową, nie może być poprzedzony przez żadną dekorację (taką jak 0x lub &h), który odróżnia go jako liczbę szesnastkową.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. To powoduje zgłoszenie wyjątku przez operację analizy.This causes the parse operation to throw an exception.

provider parametr jest implementacją IFormatProvider, której Metoda GetFormat zwraca obiekt NumberFormatInfo, który zawiera informacje specyficzne dla kultury o formacie 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. Istnieją trzy sposoby użycia parametru provider w celu dostarczenia niestandardowych informacji o formatowaniu do operacji analizy:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • Można przekazać rzeczywisty obiekt NumberFormatInfo, który zawiera informacje o formatowaniu.You can pass the actual NumberFormatInfo object that provides formatting information. (Jego implementacja GetFormat po prostu zwraca samą siebie).(Its implementation of GetFormat simply returns itself.)

  • Można przekazać obiekt CultureInfo, który określa kulturę, której formatowanie ma być używane.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. Jej Właściwość NumberFormat zawiera informacje o formatowaniu.Its NumberFormat property provides formatting information.

  • Możesz przekazać niestandardową implementację IFormatProvider.You can pass a custom IFormatProvider implementation. Metoda GetFormat musi tworzyć wystąpienia i zwracać obiekt NumberFormatInfo, który zawiera informacje o formatowaniu.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Jeśli provider jest null, zostanie użyty obiekt NumberFormatInfo dla bieżącej kultury.If provider is null, the NumberFormatInfo object for the current culture is used.

Zobacz też

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Konwertuje reprezentację zakresu liczby w określonym stylu i formacie specyficznym dla kultury na jego odpowiednik 16-bitową liczbę całkowitą bez znaku.Converts the span representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent.

[System.CLSCompliant(false)]
public static ushort Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);
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

Parametry

s
ReadOnlySpan<Char>

Zakres zawierający znaki, które reprezentują liczbę do przekonwertowania.A span containing the characters that represent the number to convert. Zakres jest interpretowany przy użyciu stylu określonego przez parametr style.The span is interpreted by using the style specified by the style parameter.

style
NumberStyles

Bitowa kombinacja wartości wyliczenia wskazująca elementy stylu, które mogą być obecne w s.A bitwise combination of enumeration values that indicate the style elements that can be present in s. Typową wartością do określenia jest Integer.A typical value to specify is Integer.

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury dotyczące s.An object that supplies culture-specific formatting information about s.

Zwraca

16-bitowa liczba całkowita bez znaku równa liczbie określonej w s.A 16-bit unsigned integer equivalent to the number specified in s.

Atrybuty

Parse(String, NumberStyles)

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Konwertuje ciąg reprezentujący liczbę w określonym stylu na odpowiadającą jej 16-bitową liczbę całkowitą bez znaku.Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.

Ta metoda jest niezgodna ze specyfikacją CLS.This method is not CLS-compliant. Alternatywa zgodna ze specyfikacją CLS jest 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

Parametry

s
String

Ciąg reprezentujący liczbę, którą należy przekształcić.A string that represents the number to convert. Ciąg jest interpretowany przy użyciu stylu określonego przez parametr style.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles

Bitowa kombinacja wartości wyliczenia, które określają dozwolony format s.A bitwise combination of the enumeration values that specify the permitted format of s. Typową wartością do określenia jest Integer.A typical value to specify is Integer.

Zwraca

16-bitowa liczba całkowita bez znaku równa liczbie określonej w s.A 16-bit unsigned integer equivalent to the number specified in s.

Atrybuty

Wyjątki

s jest null.s is null.

style nie jest wartością NumberStyles.style is not a NumberStyles value.

lub-or- style nie jest kombinacją wartości AllowHexSpecifier i HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

s nie jest w formacie zgodnym z style.s is not in a format compliant with style.

s reprezentuje liczbę mniejszą niż MinValue lub większa niż MaxValue.s represents a number less than MinValue or greater than MaxValue.

lub-or- s zawiera wartości inne niż zero, cyfry ułamkowe.s includes non-zero, fractional digits.

Przykłady

Poniższy przykład próbuje przeanalizować każdy element w tablicy ciągów przy użyciu szeregu wartości NumberStyles.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

Uwagi

Parametr style definiuje elementy stylu (takie jak odstępy, symbol znaku dodatniego lub ujemnego, symbol separatora grupy lub symbol przecinka dziesiętnego), które są dozwolone w parametrze s w celu pomyślnego wykonania operacji analizy.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 musi być kombinacją flag bitowych z wyliczenia NumberStyles.style must be a combination of bit flags from the NumberStyles enumeration. style parametr sprawia, że ta metoda jest przeciążona, gdy s zawiera ciąg reprezentujący wartość szesnastkową, gdy system liczbowy (dziesiętny lub szesnastkowy) reprezentowany przez s jest znany tylko w czasie wykonywania, lub jeśli chcesz uniemożliwić biały znak lub symbol znaku w 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.

W zależności od wartości styleparametr s może zawierać następujące elementy:Depending on the value of style, the s parameter may include the following elements:

[WS] [$] [Sign] [cyfry,] cyfry[. fractional_digits] [E [sign]exponential_digits] [WS][ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne.Elements in square brackets ([ and ]) are optional. Jeśli style zawiera NumberStyles.AllowHexSpecifier, parametr s może zawierać następujące elementy:If style includes NumberStyles.AllowHexSpecifier, the s parameter may contain the following elements:

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

W tabeli poniżej opisano każdy element.The following table describes each element.

ElementElement OpisDescription
wsws Opcjonalny odstęp.Optional white space. Biały znak może pojawić się na początku s, jeśli style zawiera flagę NumberStyles.AllowLeadingWhite i może pojawić się na końcu s, jeśli style zawiera flagę NumberStyles.AllowTrailingWhite.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.
$ Symbol waluty specyficzny dla kultury.A culture-specific currency symbol. Jego pozycja w ciągu jest definiowana przez NumberFormatInfo.CurrencyNegativePattern i NumberFormatInfo.CurrencyPositivePattern właściwości bieżącej kultury.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. Symbol waluty bieżącej kultury może pojawić się w s, jeśli style zawiera flagę NumberStyles.AllowCurrencySymbol.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Opcjonalny znak.An optional sign. Znak może występować na początku s, jeśli style zawiera flagę NumberStyles.AllowLeadingSign i może być wyświetlany na końcu s, jeśli style zawiera flagę 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. Nawiasy mogą być używane w s, aby wskazać wartość ujemną, jeśli style zawiera flagę NumberStyles.AllowParentheses.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag. Jednak symbol znaku negatywnego może być używany tylko z zerem; w przeciwnym razie metoda zgłosi OverflowException.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
cyfrdigits

fractional_digitsfractional_digits

exponential_digitsexponential_digits
Sekwencja cyfr od 0 do 9.A sequence of digits from 0 through 9. Dla fractional_digitstylko cyfra 0 jest prawidłowa.For fractional_digits, only the digit 0 is valid.
,, Symbol separatora grupy specyficzny dla kultury.A culture-specific group separator symbol. Separator grupy bieżącej kultury może pojawić się w s, jeśli style zawiera flagę NumberStyles.AllowThousands.The current culture's group separator can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Symbol dziesiętny specyficzny dla kultury.A culture-specific decimal point symbol. Symbol dziesiętny bieżącej kultury może pojawić się w s, jeśli style zawiera flagę NumberStyles.AllowDecimalPoint.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag. Aby operacja analizy zakończyła się powodzeniem, tylko cyfra 0 może być wyświetlana jako cyfry ułamkowe. Jeśli fractional_digits zawiera dowolną inną cyfrę, zostanie zgłoszony FormatException.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 Znak „e” lub „E”, który wskazuje, że wartość jest reprezentowana w zapisie wykładniczym (naukowym).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. Parametr s może reprezentować liczbę w notacji wykładniczej, jeśli style zawiera flagę NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Sekwencja cyfr szesnastkowych od 0 do f lub od 0 do F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Uwaga

Wszelkie kończące się znaki NUL (U + 0000) w s są ignorowane przez operację analizowania, niezależnie od wartości argumentu style.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Ciąg z tylko cyframi (który odpowiada stylowi NumberStyles.None) zawsze jest analizowany pomyślnie, jeśli znajduje się w zakresie typu UInt16.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully if it is in the range of the UInt16 type. Większość pozostałych NumberStyles elementów członkowskich kontroluje elementy, które mogą być obecne, ale nie muszą być obecne w ciągu wejściowym.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in the input string. Poniższa tabela zawiera informacje o tym, w jaki sposób poszczególne NumberStyles członkowie wpływają na elementy, które mogą być obecne w s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

wartość NumberStylesNumberStyles value Elementy dozwolone w s oprócz cyfrElements permitted in s in addition to digits
None Tylko elementy cyfr .The digits element only.
AllowDecimalPoint Elementy dziesiętne (.) i cyfry ułamkowe .The decimal point (.) and fractional-digits elements.
AllowExponent Znak "e" lub "E", który wskazuje notację wykładniczą oraz exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
AllowLeadingWhite Element WS na początku s.The ws element at the start of s.
AllowTrailingWhite Element WS na końcu s.The ws element at the end of s.
AllowLeadingSign Element Sign na początku s.The sign element at the start of s.
AllowTrailingSign Element Sign na końcu s.The sign element at the end of s.
AllowParentheses Element Sign w postaci nawiasów otaczających wartość liczbową.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands Element separatora grupy (,).The group separator (,) element.
AllowCurrencySymbol Element określający walutę ($).The currency ($) element.
Currency Wszystkie elementy.All elements. Jednak s nie może reprezentować liczby szesnastkowej ani liczby w notacji wykładniczej.However, s cannot represent a hexadecimal number or a number in exponential notation.
Float Element WS na początku lub na końcu s, Podpisz na początku si symbol separatora dziesiętnego (.).The ws element at the start or end of s, sign at the start of s, and the decimal point (.) symbol. Parametr s może również używać notacji wykładniczej.The s parameter can also use exponential notation.
Number Elementy ws, sign, separatora grupy (,) i punkt dziesiętny (.).The ws, sign, group separator (,), and decimal point (.) elements.
Any Wszystkie elementy.All elements. Jednak s nie może reprezentować liczby szesnastkowej.However, s cannot represent a hexadecimal number.

W przeciwieństwie do innych wartości NumberStyles, które zezwalają na, ale nie wymagają, obecność określonych elementów stylu w s, wartość stylu NumberStyles.AllowHexSpecifier oznacza, że poszczególne znaki liczbowe w s są zawsze interpretowane jako znaki szesnastkowe.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. Prawidłowe znaki szesnastkowe to 0-9, A-F i a-f.Valid hexadecimal characters are 0-9, A-F, and a-f. Prefiks, taki jak "0x", nie jest obsługiwany i powoduje niepowodzenie operacji analizy.A prefix, such as "0x", is not supported and causes the parse operation to fail. Jedyne inne flagi, które mogą być połączone z parametrem style, są NumberStyles.AllowLeadingWhite i NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the style parameter are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (Wyliczenie NumberStyles zawiera złożony styl liczb, NumberStyles.HexNumber, który obejmuje flagi białych znaków).(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Uwaga

Jeśli s to ciąg reprezentujący liczbę szesnastkową, nie może być poprzedzony żadnym dekoracją (np. 0x lub &h), który odróżnia go jako liczbę szesnastkową.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. To powoduje niepowodzenie konwersji.This causes the conversion to fail.

Parametr s jest analizowany przy użyciu informacji o formatowaniu w obiekcie NumberFormatInfo, który jest inicjowany dla bieżącej kultury systemu.The s parameter is parsed by using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Aby określić kulturę, której informacje o formatowaniu są używane dla operacji analizowania, wywołaj Przeciążenie Parse(String, NumberStyles, IFormatProvider).To specify the culture whose formatting information is used for the parse operation, call the Parse(String, NumberStyles, IFormatProvider) overload.

Zobacz też

Parse(String)

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Alternatywa zgodna ze specyfikacją CLS
System.Int32.Parse(String)

Konwertuje ciąg reprezentujący liczbę na odpowiadającą mu 16-bitową liczbę całkowitą bez znaku.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

Parametry

s
String

Ciąg reprezentujący liczbę, którą należy przekształcić.A string that represents the number to convert.

Zwraca

16-bitowa liczba całkowita bez znaku równa liczbie zawartej w s.A 16-bit unsigned integer equivalent to the number contained in s.

Atrybuty

Wyjątki

s jest null.s is null.

s nie ma poprawnego formatu.s is not in the correct format.

s reprezentuje liczbę mniejszą niż MinValue lub większa niż MaxValue.s represents a number less than MinValue or greater than MaxValue.

Przykłady

Poniższy przykład wywołuje metodę Parse(String), aby skonwertować każdy element w tablicy ciągów na niepustą liczbę całkowitą bez znaku.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

Uwagi

Parametr s powinien być ciągiem reprezentującym liczbę w następującej postaci.The s parameter should be the string representation of a number in the following form.

[WS] [Sign] cyfry[WS][ws][sign]digits[ws]

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne.Elements in square brackets ([ and ]) are optional. W tabeli poniżej opisano każdy element.The following table describes each element.

ElementElement OpisDescription
wsws Opcjonalny odstęp.Optional white space.
signsign Opcjonalny znak.An optional sign. Prawidłowe znaki znakowe są określane przez NumberFormatInfo.NegativeSign i NumberFormatInfo.PositiveSign właściwości bieżącej kultury.Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the current culture. Jednak symbol znaku negatywnego może być używany tylko z zerem; w przeciwnym razie metoda zgłosi OverflowException.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
cyfrdigits Sekwencja cyfr od 0 do 9.A sequence of digits ranging from 0 to 9. Wszystkie zera wiodące są ignorowane.Any leading zeros are ignored.

Uwaga

Ciąg określony przez parametr s jest interpretowany przy użyciu stylu NumberStyles.Integer.The string specified by the s parameter is interpreted by using the NumberStyles.Integer style. Nie może zawierać żadnych separatorów grup ani separatorów dziesiętnych, a także mieć części dziesiętnej.It cannot contain any group separators or decimal separator, and it cannot have a decimal portion.

Parametr s jest analizowany przy użyciu informacji o formatowaniu w obiekcie System.Globalization.NumberFormatInfo, który jest inicjowany dla bieżącej kultury systemu.The s parameter is parsed by using the formatting information in a System.Globalization.NumberFormatInfo object that is initialized for the current system culture. Aby uzyskać więcej informacji, zobacz temat NumberFormatInfo.CurrentInfo.For more information, see NumberFormatInfo.CurrentInfo. Aby przeanalizować ciąg przy użyciu informacji o formatowaniu określonej kultury, użyj metody Parse(String, IFormatProvider).To parse a string by using the formatting information of a specific culture, use the Parse(String, IFormatProvider) method.

Zobacz też

Parse(String, IFormatProvider)

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Alternatywa zgodna ze specyfikacją CLS
System.Int32.Parse(String)

Konwertuje ciąg reprezentujący liczbę w określonym formacie specyficznym dla kultury na jego 16-bitową liczbę całkowitą bez znaku.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

Parametry

s
String

Ciąg reprezentujący liczbę, którą należy przekształcić.A string that represents the number to convert.

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury dotyczące s.An object that supplies culture-specific formatting information about s.

Zwraca

16-bitowa liczba całkowita bez znaku równa liczbie określonej w s.A 16-bit unsigned integer equivalent to the number specified in s.

Atrybuty

Wyjątki

s jest null.s is null.

s nie ma poprawnego formatu.s is not in the correct format.

s reprezentuje liczbę mniejszą niż MinValue lub większa niż MaxValue.s represents a number less than MinValue or greater than MaxValue.

Przykłady

Poniższy przykład tworzy wystąpienie niestandardową kulturę, która korzysta z dwóch znaków plus (+ +) jako swojego znaku dodatniego.The following example instantiates a custom culture that uses two plus signs (++) as its positive sign. Następnie wywołuje metodę Parse(String, IFormatProvider), aby analizować tablicę ciągów przy użyciu obiektów CultureInfo, które reprezentują zarówno tę niestandardową kulturę, jak i niezmienną kulturę.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.

Uwagi

Parametr s zawiera numer formularza:The s parameter contains a number of the form:

[WS] [Sign] cyfry[WS][ws][sign]digits[ws]

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne.Items in square brackets ([ and ]) are optional. W tabeli poniżej opisano każdy element.The following table describes each element.

ElementElement OpisDescription
wsws Opcjonalny odstęp.Optional white space.
znaksign Opcjonalny znak lub znak ujemny, jeśli s reprezentuje wartość zero.An optional sign, or a negative sign if s represents the value zero.
cyfrydigits Sekwencja cyfr od 0 do 9.A sequence of digits ranging from 0 to 9.

Parametr s jest interpretowany przy użyciu stylu NumberStyles.Integer.The s parameter is interpreted using the NumberStyles.Integer style. Oprócz cyfr dziesiętnych wartość bajtu dozwolone są tylko spacje wiodące i końcowe razem z wiodącym znakiem.In addition to the byte value's decimal digits, only leading and trailing spaces along with a leading sign is allowed. (Jeśli jest obecny znak ujemny, s musi reprezentować wartość zero lub metoda zgłasza OverflowException.) Aby jawnie zdefiniować elementy stylu wraz z informacjami o formatowaniu specyficznym dla kultury, które mogą być obecne w s, użyj metody Parse(String, NumberStyles, IFormatProvider).(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.

provider parametr jest implementacją IFormatProvider, której Metoda GetFormat zwraca obiekt NumberFormatInfo, który zawiera informacje specyficzne dla kultury o formacie 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. Istnieją trzy sposoby użycia parametru provider w celu dostarczenia niestandardowych informacji o formatowaniu do operacji analizy:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • Można przekazać rzeczywisty obiekt NumberFormatInfo, który zawiera informacje o formatowaniu.You can pass the actual NumberFormatInfo object that provides formatting information. (Jego implementacja GetFormat po prostu zwraca samą siebie).(Its implementation of GetFormat simply returns itself.)

  • Można przekazać obiekt CultureInfo, który określa kulturę, której formatowanie ma być używane.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. Jej Właściwość NumberFormat zawiera informacje o formatowaniu.Its NumberFormat property provides formatting information.

  • Możesz przekazać niestandardową implementację IFormatProvider.You can pass a custom IFormatProvider implementation. Metoda GetFormat musi tworzyć wystąpienia i zwracać obiekt NumberFormatInfo, który zawiera informacje o formatowaniu.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Jeśli provider jest null, zostanie użyta NumberFormatInfo dla bieżącej kultury.If provider is null, the NumberFormatInfo for the current culture is used.

Zobacz też

Dotyczy