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

Definition

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende ganze 16-Bit-Zahl ohne Vorzeichen.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

Überlädt

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

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende 16-Bit-Ganzzahl ohne Vorzeichen.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)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die entsprechende 16-Bit-Ganzzahl ohne Vorzeichen.Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.

Diese Methode ist nicht CLS-kompatibel.This method is not CLS-compliant. Die CLS-kompatible Alternative ist Parse(String, NumberStyles).The CLS-compliant alternative is Parse(String, NumberStyles).

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

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende ganze 16-Bit-Zahl ohne Vorzeichen.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)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturspezifischen Format in die entsprechende ganze 16-Bit-Zahl ohne Vorzeichen.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)

Wichtig

Diese API ist nicht CLS-kompatibel.

CLS-kompatible Alternative
System.Int32.Parse(String)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende 16-Bit-Ganzzahl ohne Vorzeichen.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

Parameter

s
String String String String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.A string that represents the number to convert. Die Zeichenfolge wird unter Verwendung des durch den style-Parameter angegebenen Stils interpretiert.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Eine bitweise Kombination von Enumerationswerten, die die Stilelemente angeben, die in s vorhanden sein können.A bitwise combination of enumeration values that indicate the style elements that can be present in s. Ein häufig angegebener Wert ist Integer.A typical value to specify is Integer.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.An object that supplies culture-specific formatting information about s.

Gibt zurück

Eine 16-Bit-Ganzzahl ohne Vorzeichen, die der Zahl in s entspricht.A 16-bit unsigned integer equivalent to the number specified in s.

Ausnahmen

style ist kein NumberStyles-Wert.style is not a NumberStyles value.

- oder --or- style ist keine Kombination von AllowHexSpecifier- und HexNumber-Werten.style is not a combination of AllowHexSpecifier and HexNumber values.

s weist kein mit style kompatibles Format auf.s is not in a format compliant with style.

s stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.s represents a number that is less than MinValue or greater than MaxValue.

- oder --or- s enthält Dezimalstellen ungleich 0 (null).s includes non-zero, fractional digits.

Beispiele

Im folgenden Beispiel wird die Parse(String, NumberStyles, IFormatProvider) -Methode verwendet, um verschiedene Zeichen folgen Darstellungen von Zahlen in 16-Bit-ganzzahlige Werte ohne Vorzeichen zu konvertieren.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.

Hinweise

Der style -Parameter definiert die Stilelemente (z. b. Leerzeichen oder das positive oder negative Vorzeichen Symbol), die s im-Parameter zulässig sind, damit der Analyse Vorgang erfolgreich ausgeführt werden kann.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. Dabei muss es sich um eine Kombination von Bitflags aus der NumberStyles -Enumeration handeln.It must be a combination of bit flags from the NumberStyles enumeration.

Abhängig vom Wert von stylekann der s -Parameter die folgenden Elemente enthalten:Depending on the value of style, the s parameter may include the following elements:

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

Elemente in eckigen Klammern ([ und ]) sind optional.Elements in square brackets ([ and ]) are optional. Wenn style s enthält NumberStyles.AllowHexSpecifier, kann der-Parameter die folgenden Elemente enthalten:If style includes NumberStyles.AllowHexSpecifier, the s parameter may include the following elements:

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

In der folgenden Tabelle wird jedes Element beschrieben.The following table describes each element.

ElementElement BeschreibungDescription
wsws Optionaler Leerraum.Optional white space. Leerräume können am Anfang von s angezeigt werden, wenn style das NumberStyles.AllowLeadingWhite -Flag enthält, und es kann am Ende von s angezeigt style werden, NumberStyles.AllowTrailingWhite wenn das-Flag enthält.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.
$ Ein kulturspezifisches Währungssymbol.A culture-specific currency symbol. Die Position in der Zeichenfolge wird durch die CurrencyPositivePattern -Eigenschaft NumberFormatInfo des-Objekts definiert, das provider von GetFormat der-Methode des-Parameters zurückgegeben wird.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. Das Währungssymbol kann in s angezeigt werden, wenn NumberStyles.AllowCurrencySymbol style das-Flag enthält.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Ein optionales Vorzeichen.An optional sign. (Die-Methode löst OverflowException eine s aus, wenn ein negatives Vorzeichen enthält und eine Zahl ungleich 0 (null) darstellt. Das Vorzeichen kann am Anfang von s angezeigt werden, wenn style das NumberStyles.AllowLeadingSign -Flag enthält, und es kann am Ende s von style angezeigt werden NumberStyles.AllowTrailingSign , wenn das-Flag enthält.(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. Klammern können in s verwendet werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses -Flag einschließt.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
Zifferndigits Eine Sequenz von Ziffern zwischen 0 und 9.A sequence of digits from 0 through 9.
.. Ein kulturspezifisches Dezimaltrennzeichen.A culture-specific decimal point symbol. Das Dezimaltrennzeichen der aktuellen Kultur kann in s auftreten, wenn style das NumberStyles.AllowDecimalPoint -Flag enthält.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits Ein oder mehrere Vorkommen der Ziffer 0-9, wenn style das NumberStyles.AllowExponent -Flag enthält, oder ein oder mehrere Vorkommen der Ziffer 0, wenn dies nicht der Fall ist.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. Bruch Ziffern können nur in s vorkommen, wenn style das NumberStyles.AllowDecimalPoint -Flag enthält.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
EE Das Zeichen "e" oder "e", das angibt, dass der Wert in exponentieller Notation (Scientific) dargestellt wird.The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. Der s -Parameter kann eine Zahl in Exponentialnotation style darstellen, NumberStyles.AllowExponent wenn das-Flag enthält.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential_digitsexponential_digits Eine Sequenz von Ziffern zwischen 0 und 9.A sequence of digits from 0 through 9. Der s -Parameter kann eine Zahl in Exponentialnotation style darstellen, NumberStyles.AllowExponent wenn das-Flag enthält.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
Hexziffernhexdigits Eine Sequenz von hexadezimalen Ziffern zwischen 0 und f oder 0 bis f.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Hinweis

Alle abschließenden NUL-Zeichen (U + 0000) s in werden vom Analyse-Vorgang unabhängig vom Wert style des Arguments ignoriert.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Eine Zeichenfolge mit nur Dezimalziffern (die dem NumberStyles.None -Stil entspricht) wird immer erfolgreich analysiert.A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully. Die meisten der Verb NumberStyles leibenden Member steuern Elemente, die in dieser Eingabe Zeichenfolge vorhanden sein können, aber nicht vorhanden sein müssen.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in this input string. In der folgenden Tabelle wird angegeben NumberStyles , wie sich einzelne Member auf die Elemente auswirken s, die in vorhanden sein können.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Nicht zusammengesetzte NumberStyles WerteNon-composite NumberStyles values In zugelassene s Elemente zusätzlich zu ZiffernElements permitted in s in addition to digits
NumberStyles.None Nur Dezimalziffern.Decimal digits only.
NumberStyles.AllowDecimalPoint Die Dezimaltrennzeichen (.) und fractional_digits Elemente.The decimal point (.) and fractional_digits elements. Wenn Style jedoch das NumberStyles.AllowExponent -Flag nicht enthält, muss fractional_digits aus nur einer oder mehreren 0 Ziffern bestehen; andernfalls wird eine OverflowException ausgelöst.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 Das Zeichen "e" oder "e", das die Exponentialnotation angibt, zusammen mit Exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
NumberStyles.AllowLeadingWhite Das WS -Element am Anfang von s.The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite Das WS -Element am Ende von s.The ws element at the end of s.
NumberStyles.AllowLeadingSign Ein Vorzeichen vor Ziffern.A sign before digits.
NumberStyles.AllowTrailingSign Ein Vorzeichen nach Ziffern.A sign after digits.
NumberStyles.AllowParentheses Klammern vor und nach Ziffern , um einen negativen Wert anzugeben.Parentheses before and after digits to indicate a negative value.
NumberStyles.AllowThousands Das Gruppen Trennzeichen (,).The group separator (,) element.
NumberStyles.AllowCurrencySymbol Das Currency ($)-Element.The currency ($) element.

Wenn das NumberStyles.AllowHexSpecifier -Flag verwendet wird s , muss ein Hexadezimalwert sein.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value. Gültige hexadezimale Ziffern sind 0 bis 9, a bis f und a bis f. Ein Präfix, z. b. "0x", wird nicht unterstützt und bewirkt, dass der Analyse Vorgang fehlschlägt.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. Die einzigen anderen Flags, die mit NumberStyles.AllowHexSpecifier kombiniert werden können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite.The only other flags that can be combined with NumberStyles.AllowHexSpecifier are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (Die NumberStyles -Enumeration enthält einen zusammengesetzten Zahlen NumberStyles.HexNumberStil,, der beide Leerzeichen enthält.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Hinweis

Wenn der s -Parameter die Zeichen folgen Darstellung einer hexadezimalen Zahl ist, kann ihm keine Ergänzung vorangestellt werden ( 0x z &h. b. oder), die ihn als hexadezimale Zahl unterscheidet.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. Dies bewirkt, dass der Analyse Vorgang eine Ausnahme auslöst.This causes the parse operation to throw an exception.

Der provider -Parameter ist IFormatProvider eine- GetFormat Implementierung, deren NumberFormatInfo -Methode ein-Objekt zurückgibt, das kulturspezifische sInformationen zum Format von bereitstellt.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. Es gibt drei Möglichkeiten, den provider -Parameter zu verwenden, um benutzerdefinierte Formatierungsinformationen für den Analyse Vorgang bereitzustellen:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • Sie können das tatsächliche NumberFormatInfo -Objekt übergeben, das Formatierungsinformationen bereitstellt.You can pass the actual NumberFormatInfo object that provides formatting information. (Die Implementierung von GetFormat gibt einfach selbst zurück.)(Its implementation of GetFormat simply returns itself.)

  • Sie können ein CultureInfo -Objekt übergeben, das die Kultur angibt, deren Formatierung verwendet werden soll.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. Die NumberFormat -Eigenschaft stellt Formatierungsinformationen bereit.Its NumberFormat property provides formatting information.

  • Sie können eine benutzerdefinierte IFormatProvider -Implementierung übergeben.You can pass a custom IFormatProvider implementation. NumberFormatInfo Die- GetFormat Methode muss das-Objekt instanziieren und zurückgeben, das Formatierungsinformationen bereitstellt.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Wenn providerden Wert NumberFormatInfo hat, wird das-Objekt für die aktuelle Kultur verwendet. nullIf provider is null, the NumberFormatInfo object for the current culture is used.

Siehe auch

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

Wichtig

Diese API ist nicht CLS-kompatibel.

[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

Parameter

Gibt zurück

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

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die entsprechende 16-Bit-Ganzzahl ohne Vorzeichen.Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.

Diese Methode ist nicht CLS-kompatibel.This method is not CLS-compliant. Die CLS-kompatible Alternative ist 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

Parameter

s
String String String String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.A string that represents the number to convert. Die Zeichenfolge wird unter Verwendung des durch den style-Parameter angegebenen Stils interpretiert.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Eine bitweise Kombination der Enumerationswerte, die das zulässige Format von s angeben.A bitwise combination of the enumeration values that specify the permitted format of s. Ein häufig angegebener Wert ist Integer.A typical value to specify is Integer.

Gibt zurück

Eine 16-Bit-Ganzzahl ohne Vorzeichen, die der Zahl in s entspricht.A 16-bit unsigned integer equivalent to the number specified in s.

Ausnahmen

style ist kein NumberStyles-Wert.style is not a NumberStyles value.

- oder --or- style ist keine Kombination von AllowHexSpecifier- und HexNumber-Werten.style is not a combination of AllowHexSpecifier and HexNumber values.

s weist kein mit style kompatibles Format auf.s is not in a format compliant with style.

s stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.s represents a number less than MinValue or greater than MaxValue.

- oder --or- s enthält Dezimalstellen ungleich 0 (null).s includes non-zero, fractional digits.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem Zeichen folgen Array mit einer Reihe von NumberStyles Werten zu analysieren.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

Hinweise

Der style -Parameter definiert die Stilelemente (z. b. Leerzeichen, das positive oder negative Vorzeichen Symbol, das Gruppen Trennzeichen oder das Dezimaltrennzeichen), die s im-Parameter zulässig sind, damit der Analyse Vorgang erfolgreich ausgeführt werden kann.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. stylemuss eine Kombination von Bitflags aus der NumberStyles -Enumeration sein.style must be a combination of bit flags from the NumberStyles enumeration. Der style -Parameter bewirkt, dass diese Methoden s Überladung nützlich ist, wenn die Zeichen folgen Darstellung eines hexadezimalen Werts enthält, wenn das Zahlensystem (Decimal s oder hexadezimal), das von dargestellt wird, nur zur Laufzeit bekannt ist oder wenn Sie Sie möchten Leerzeichen oder ein Vorzeichen Symbol in snicht zulassen.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.

Abhängig vom Wert von stylekann der s -Parameter die folgenden Elemente enthalten: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]

Elemente in eckigen Klammern ([ und ]) sind optional.Elements in square brackets ([ and ]) are optional. Wenn style s enthält NumberStyles.AllowHexSpecifier, kann der-Parameter die folgenden Elemente enthalten:If style includes NumberStyles.AllowHexSpecifier, the s parameter may contain the following elements:

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

In der folgenden Tabelle wird jedes Element beschrieben.The following table describes each element.

ElementElement BeschreibungDescription
wsws Optionaler Leerraum.Optional white space. Leerräume können am Anfang von s angezeigt werden, wenn style das NumberStyles.AllowLeadingWhite -Flag enthält, und es kann am Ende von s angezeigt style werden, NumberStyles.AllowTrailingWhite wenn das-Flag enthält.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.
$ Ein kulturspezifisches Währungssymbol.A culture-specific currency symbol. Die Position in der Zeichenfolge wird durch die NumberFormatInfo.CurrencyNegativePattern - NumberFormatInfo.CurrencyPositivePattern Eigenschaft und die-Eigenschaft der aktuellen Kultur definiert.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. Das Währungssymbol der aktuellen Kultur kann in s angezeigt werden, wenn NumberStyles.AllowCurrencySymbol style das-Flag enthält.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Ein optionales Vorzeichen.An optional sign. Das Vorzeichen kann am Anfang von s angezeigt werden, wenn style das NumberStyles.AllowLeadingSign -Flag enthält, und es kann am Ende von s angezeigt style werden, NumberStyles.AllowTrailingSign wenn das-Flag enthält.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. Klammern können in s verwendet werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses -Flag einschließt.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag. Allerdings kann das negative Vorzeichen-Symbol nur mit 0 (null) verwendet werden. Andernfalls löst die Methode eine OverflowExceptionaus.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
Zifferndigits

fractional_digitsfractional_digits

exponential_digitsexponential_digits
Eine Sequenz von Ziffern zwischen 0 und 9.A sequence of digits from 0 through 9. Für fractional_digitsist nur die Ziffer 0 gültig.For fractional_digits, only the digit 0 is valid.
,, Ein kulturspezifisches Gruppen Trennzeichen.A culture-specific group separator symbol. Das Gruppen Trennzeichen der aktuellen Kultur kann in s angezeigt style werden, NumberStyles.AllowThousands wenn das-Flag enthält.The current culture's group separator can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Ein kulturspezifisches Dezimaltrennzeichen.A culture-specific decimal point symbol. Das Dezimaltrennzeichen der aktuellen Kultur kann in s auftreten, wenn style das NumberStyles.AllowDecimalPoint -Flag enthält.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag. Nur die Ziffer 0 (null) kann als eine Bruch Ziffer angezeigt werden, damit der Analyse Vorgang erfolgreich ausgeführt werden kann. Wenn fractional_digits eine beliebige andere Ziffer einschließt, FormatException wird eine ausgelöst.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 Das Zeichen "e" oder "e", das angibt, dass der Wert in exponentieller Notation (Scientific) dargestellt wird.The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. Der s -Parameter kann eine Zahl in Exponentialnotation style darstellen, NumberStyles.AllowExponent wenn das-Flag enthält.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
Hexziffernhexdigits Eine Sequenz von hexadezimalen Ziffern zwischen 0 und f oder 0 bis f.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Hinweis

Alle abschließenden NUL-Zeichen (U + 0000) s in werden vom Analyse-Vorgang unabhängig vom Wert style des Arguments ignoriert.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Eine Zeichenfolge, die nur Ziffern (die dem NumberStyles.None Format entspricht) entspricht, wird immer erfolgreich analysiert.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully. Die meisten der Verb NumberStyles leibenden Member steuern Elemente, die möglicherweise vorhanden sind, jedoch nicht in der Eingabe Zeichenfolge vorhanden sein müssen.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in the input string. In der folgenden Tabelle wird angegeben NumberStyles , wie sich einzelne Member auf die Elemente auswirken s, die in vorhanden sein können.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

NumberStyles-WertNumberStyles value In zugelassene s Elemente zusätzlich zu ZiffernElements permitted in s in addition to digits
None Nur das digits -Element.The digits element only.
AllowDecimalPoint Die Dezimaltrennzeichen (.) und die Elemente der Bruch Ziffern .The decimal point (.) and fractional-digits elements.
AllowExponent Das Zeichen "e" oder "e", das die Exponentialnotation angibt, zusammen mit Exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
AllowLeadingWhite Das WS -Element am Anfang von s.The ws element at the start of s.
AllowTrailingWhite Das WS -Element am Ende von s.The ws element at the end of s.
AllowLeadingSign Das Sign -Element am Anfang von s.The sign element at the start of s.
AllowTrailingSign Das Sign -Element am Ende von s.The sign element at the end of s.
AllowParentheses Das Vorzeichen Element in der Form von Klammern, das den numerischen Wert einschließt.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands Das Gruppen Trennzeichen (,).The group separator (,) element.
AllowCurrencySymbol Das Currency ($)-Element.The currency ($) element.
Currency Alle-Elemente.All elements. Es ist s jedoch nicht möglich, eine hexadezimale Zahl oder eine Zahl in Exponentialnotation darzustellen.However, s cannot represent a hexadecimal number or a number in exponential notation.
Float Das WS -Element am Anfang oder Ende von s, Signieren Sie am Anfang svon und das Dezimaltrennzeichen (.).The ws element at the start or end of s, sign at the start of s, and the decimal point (.) symbol. Der s -Parameter kann auch die Exponentialnotation verwenden.The s parameter can also use exponential notation.
Number Die wsElemente sign,, Gruppen Trennzeichen (,) und Dezimaltrennzeichen (.).The ws, sign, group separator (,), and decimal point (.) elements.
Any Alle-Elemente.All elements. Eine hexadezimale Zahl kann jedoch nicht dargestellt werden s .However, s cannot represent a hexadecimal number.

Anders als bei NumberStyles den anderen Werten, die das vorhanden sein bestimmter Stilelemente in szulassen, bedeutet der NumberStyles.AllowHexSpecifier Stil Wert, dass die einzelnen numerischen Zeichen in s immer als hexadezimale Zeichen.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. Gültige hexadezimale Zeichen sind 0-9, a-f und A-f.Valid hexadecimal characters are 0-9, A-F, and a-f. Ein Präfix, z. b. "0x", wird nicht unterstützt und bewirkt, dass der Analyse Vorgang fehlschlägt.A prefix, such as "0x", is not supported and causes the parse operation to fail. Die einzigen anderen Flags, die mit dem style -Parameter kombiniert werden können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the style parameter are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (Die NumberStyles -Enumeration enthält einen zusammengesetzten Zahlen NumberStyles.HexNumberStil,, der beide Leerzeichen enthält.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Hinweis

Wenn s die Zeichen folgen Darstellung einer hexadezimalen Zahl ist, kann Ihr keine Ergänzung ( 0x z. b. oder &h) vorangestellt werden, die Sie als hexadezimale Zahl unterscheidet.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. Dies bewirkt, dass die Konvertierung fehlschlägt.This causes the conversion to fail.

Der s -Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo -Objekt analysiert, das für die aktuelle System Kultur initialisiert wird.The s parameter is parsed by using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Um die Kultur anzugeben, deren Formatierungsinformationen für den Analyse Vorgang verwendet werden, müssen Parse(String, NumberStyles, IFormatProvider) Sie die-Überladung aufrufen.To specify the culture whose formatting information is used for the parse operation, call the Parse(String, NumberStyles, IFormatProvider) overload.

Siehe auch

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

Wichtig

Diese API ist nicht CLS-kompatibel.

CLS-kompatible Alternative
System.Int32.Parse(String)

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende ganze 16-Bit-Zahl ohne Vorzeichen.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

Parameter

s
String String String String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.A string that represents the number to convert.

Gibt zurück

Eine 16-Bit-Ganzzahl ohne Vorzeichen, die der Zahl in s entspricht.A 16-bit unsigned integer equivalent to the number contained in s.

Ausnahmen

s weist nicht das richtige Format auf.s is not in the correct format.

s stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.s represents a number less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird die Parse(String) -Methode aufgerufen, um jedes Element in einem Zeichen folgen Array in eine 16-Bit-Ganzzahl ohne Vorzeichen zu konvertieren.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

Hinweise

Der s -Parameter sollte die Zeichen folgen Darstellung einer Zahl in der folgenden Form sein.The s parameter should be the string representation of a number in the following form.

[WS] [Sign] Ziffern [WS][ws][sign]digits[ws]

Elemente in eckigen Klammern ([ und ]) sind optional.Elements in square brackets ([ and ]) are optional. In der folgenden Tabelle wird jedes Element beschrieben.The following table describes each element.

ElementElement BeschreibungDescription
wsws Optionaler Leerraum.Optional white space.
signsign Ein optionales Vorzeichen.An optional sign. Gültige Zeichen werden von der NumberFormatInfo.NegativeSign -Eigenschaft und der- NumberFormatInfo.PositiveSign Eigenschaft der aktuellen Kultur bestimmt.Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the current culture. Allerdings kann das negative Vorzeichen-Symbol nur mit 0 (null) verwendet werden. Andernfalls löst die Methode eine OverflowExceptionaus.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
Zifferndigits Eine Sequenz von Ziffern zwischen 0 und 9.A sequence of digits ranging from 0 to 9. Alle führenden Nullen werden ignoriert.Any leading zeros are ignored.

Hinweis

Die durch den s -Parameter angegebene Zeichenfolge wird mithilfe des NumberStyles.Integer -Stils interpretiert.The string specified by the s parameter is interpreted by using the NumberStyles.Integer style. Er darf keine Gruppen Trennzeichen oder Dezimaltrennzeichen enthalten, und er darf keinen Dezimaltrennzeichen enthalten.It cannot contain any group separators or decimal separator, and it cannot have a decimal portion.

Der s -Parameter wird mithilfe der Formatierungsinformationen in einem System.Globalization.NumberFormatInfo -Objekt analysiert, das für die aktuelle System Kultur initialisiert wird.The s parameter is parsed by using the formatting information in a System.Globalization.NumberFormatInfo object that is initialized for the current system culture. Weitere Informationen finden Sie unter NumberFormatInfo.CurrentInfo.For more information, see NumberFormatInfo.CurrentInfo. Verwenden Sie die Parse(String, IFormatProvider) -Methode, um eine Zeichenfolge mithilfe der Formatierungsinformationen einer bestimmten Kultur zu analysieren.To parse a string by using the formatting information of a specific culture, use the Parse(String, IFormatProvider) method.

Siehe auch

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

Wichtig

Diese API ist nicht CLS-kompatibel.

CLS-kompatible Alternative
System.Int32.Parse(String)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturspezifischen Format in die entsprechende ganze 16-Bit-Zahl ohne Vorzeichen.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

Parameter

s
String String String String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.A string that represents the number to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.An object that supplies culture-specific formatting information about s.

Gibt zurück

Eine 16-Bit-Ganzzahl ohne Vorzeichen, die der Zahl in s entspricht.A 16-bit unsigned integer equivalent to the number specified in s.

Ausnahmen

s weist nicht das richtige Format auf.s is not in the correct format.

s stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.s represents a number less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird eine benutzerdefinierte Kultur instanziiert, in der zwei Pluszeichen (+ +) als positives Vorzeichen verwendet werden.The following example instantiates a custom culture that uses two plus signs (++) as its positive sign. Anschließend wird die Parse(String, IFormatProvider) -Methode aufgerufen, um ein Array von Zeichen folgen mithilfe CultureInfo von-Objekten zu analysieren, die sowohl diese benutzerdefinierte Kultur als auch die invariante Kultur darstellen.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.

Hinweise

Der s -Parameter enthält eine Reihe von folgenden Formen:The s parameter contains a number of the form:

[WS] [Sign] Ziffern [WS][ws][sign]digits[ws]

Elemente in eckigen Klammern ([und]) sind optional.Items in square brackets ([ and ]) are optional. In der folgenden Tabelle wird jedes Element beschrieben.The following table describes each element.

ElementElement BeschreibungDescription
wsws Optionaler Leerraum.Optional white space.
signsign Ein optionales Vorzeichen oder ein negatives Vorzeichen, s wenn den Wert 0 (null) darstellt.An optional sign, or a negative sign if s represents the value zero.
Zifferndigits Eine Sequenz von Ziffern zwischen 0 und 9.A sequence of digits ranging from 0 to 9.

Der s-Parameter wird mit dem NumberStyles.Integer -Stil interpretiert.The s parameter is interpreted using the NumberStyles.Integer style. Zusätzlich zu den Dezimalziffern des Byte Werts sind nur führende und nachfolgende Leerzeichen zusammen mit einem vorangestellten Zeichen zulässig.In addition to the byte value's decimal digits, only leading and trailing spaces along with a leading sign is allowed. (Wenn das negative Vorzeichen vorhanden ist, s muss den Wert 0 (null) darstellen, oder die OverflowExceptionMethode löst eine aus.) Verwenden Sie die Parse(String, NumberStyles, IFormatProvider) -Methode, um die Stilelemente mit den kulturspezifischen Formatierungsinformationen, die sin vorhanden sein können, explizit zu definieren.(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.

Der provider -Parameter ist IFormatProvider eine- GetFormat Implementierung, deren NumberFormatInfo -Methode ein-Objekt zurückgibt, das kulturspezifische sInformationen zum Format von bereitstellt.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. Es gibt drei Möglichkeiten, den provider -Parameter zu verwenden, um benutzerdefinierte Formatierungsinformationen für den Analyse Vorgang bereitzustellen:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • Sie können das tatsächliche NumberFormatInfo -Objekt übergeben, das Formatierungsinformationen bereitstellt.You can pass the actual NumberFormatInfo object that provides formatting information. (Die Implementierung von GetFormat gibt einfach selbst zurück.)(Its implementation of GetFormat simply returns itself.)

  • Sie können ein CultureInfo -Objekt übergeben, das die Kultur angibt, deren Formatierung verwendet werden soll.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. Die NumberFormat -Eigenschaft stellt Formatierungsinformationen bereit.Its NumberFormat property provides formatting information.

  • Sie können eine benutzerdefinierte IFormatProvider -Implementierung übergeben.You can pass a custom IFormatProvider implementation. NumberFormatInfo Die- GetFormat Methode muss das-Objekt instanziieren und zurückgeben, das Formatierungsinformationen bereitstellt.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Wenn provider NumberFormatInfo ist null, wird der für die aktuelle Kultur verwendet.If provider is null, the NumberFormatInfo for the current culture is used.

Siehe auch

Gilt für: