UInt32.TryParse Methode

Definition

Versucht, die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

Überlädt

TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt32)

Versucht, einen Bereich von Zeichen in einen Wert zu analysieren.

TryParse(String, IFormatProvider, UInt32)
TryParse(ReadOnlySpan<Char>, UInt32)

Versucht, die Spannendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

TryParse(String, UInt32)

Versucht, die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

TryParse(String, NumberStyles, IFormatProvider, UInt32)

Versucht, die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UInt32)

Versucht, die Spannenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt32)

Versucht, einen Bereich von Zeichen in einen Wert zu analysieren.

public:
 static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt32 % result) = ISpanParsable<System::UInt32>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, IFormatProvider? provider, out uint result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * uint32 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As UInteger) As Boolean

Parameter

provider
IFormatProvider
result
UInt32

Gibt zurück

Boolean

true wenn s erfolgreich analysiert wurde; andernfalls false.

Gilt für:

TryParse(String, IFormatProvider, UInt32)

public:
 static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt32 % result) = IParsable<System::UInt32>::TryParse;
public static bool TryParse (string? s, IFormatProvider? provider, out uint result);
static member TryParse : string * IFormatProvider * uint32 -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As UInteger) As Boolean

Parameter

s
String
provider
IFormatProvider
result
UInt32

Gibt zurück

Boolean

Gilt für:

TryParse(ReadOnlySpan<Char>, UInt32)

Wichtig

Diese API ist nicht CLS-kompatibel.

Versucht, die Spannendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

public:
 static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::UInt32 % result);
public static bool TryParse (ReadOnlySpan<char> s, out uint result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, out uint result);
static member TryParse : ReadOnlySpan<char> * uint32 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * uint32 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As UInteger) As Boolean

Parameter

s
ReadOnlySpan<Char>

Eine Zeichenspanne, die die zu konvertierende Zahl darstellt

result
UInt32

Diese Methode gibt bei erfolgreicher Konvertierung den 32-Bit-Ganzzahlwert mit Vorzeichen zurück, der der Zahl in s entspricht, und 0 (null), wenn die Konvertierung nicht durchgeführt werden konnte. Die Konvertierung schlägt fehl, wenn der s Parameter nicht das richtige Format aufweist null oder Emptyeine Zahl darstellt, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValue ist.MaxValue Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.

Gibt zurück

Boolean

true, wenn s erfolgreich konvertiert wurde, andernfalls false.

Attribute

Gilt für:

TryParse(String, UInt32)

Wichtig

Diese API ist nicht CLS-kompatibel.

CLS-kompatible Alternative
System.Int64.TryParse(String, Int64)

Versucht, die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::UInt32 % result);
[System.CLSCompliant(false)]
public static bool TryParse (string s, out uint result);
public static bool TryParse (string? s, out uint result);
[System.CLSCompliant(false)]
public static bool TryParse (string? s, out uint result);
[<System.CLSCompliant(false)>]
static member TryParse : string * uint32 -> bool
static member TryParse : string * uint32 -> bool
Public Shared Function TryParse (s As String, ByRef result As UInteger) As Boolean

Parameter

s
String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.

result
UInt32

Diese Methode gibt bei erfolgreicher Konvertierung den 32-Bit-Ganzzahlwert mit Vorzeichen zurück, der der Zahl in s entspricht, und 0 (null), wenn die Konvertierung nicht durchgeführt werden konnte. Die Konvertierung schlägt fehl, wenn der s Parameter nicht das richtige Format aufweist null oder Emptyeine Zahl darstellt, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValue ist. Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.

Gibt zurück

Boolean

true, wenn s erfolgreich konvertiert wurde, andernfalls false.

Attribute

Beispiele

Im folgenden Beispiel wird die TryParse(String, UInt32) Methode einmal für jedes Element in einem Zeichenfolgenarray aufgerufen.

string[] numericStrings = { "1293.8", "+1671.7", "28347.",  
                            "   33113684  ", "(0)", "-0", "-1", 
                            "+1293617", "18-", "119870", "31,024", 
                            "  3127094 ", "00700000" };
uint number;
foreach (string numericString in numericStrings)
{
   if (UInt32.TryParse(numericString, out number)) 
      Console.WriteLine("Converted '{0}' to {1}.", numericString, number);
   else
      Console.WriteLine("Cannot convert '{0}' to a UInt32.", numericString);
}
// The example displays the following output:
//       Cannot convert '1293.8' to a UInt32.
//       Cannot convert '+1671.7' to a UInt32.
//       Cannot convert '28347.' to a UInt32.
//       Converted '   33113684  ' to 33113684.
//       Cannot convert '(0)' to a UInt32.
//       Converted '-0' to 0.
//       Cannot convert '-1' to a UInt32.
//       Converted '+1293617' to 1293617.
//       Cannot convert '18-' to a UInt32.
//       Converted '119870' to 119870.
//       Cannot convert '31,024' to a UInt32.
//       Converted '  3127094 ' to 3127094.
//       Converted '0070000' to 70000.
let numericStrings = 
    [| "1293.8"; "+1671.7"; "28347."
       "   33113684  "; "(0)"; "-0"; "-1" 
       "+1293617"; "18-"; "119870"; "31,024" 
       "  3127094 "; "00700000" |]

for numericString in numericStrings do
    match UInt32.TryParse numericString with
    | true, number ->
        printfn $"Converted '{numericString}' to {number}."
    | _ ->
        printfn $"Cannot convert '{numericString}' to a UInt32."
// The example displays the following output:
//       Cannot convert '1293.8' to a UInt32.
//       Cannot convert '+1671.7' to a UInt32.
//       Cannot convert '28347.' to a UInt32.
//       Converted '   33113684  ' to 33113684.
//       Cannot convert '(0)' to a UInt32.
//       Converted '-0' to 0.
//       Cannot convert '-1' to a UInt32.
//       Converted '+1293617' to 1293617.
//       Cannot convert '18-' to a UInt32.
//       Converted '119870' to 119870.
//       Cannot convert '31,024' to a UInt32.
//       Converted '  3127094 ' to 3127094.
//       Converted '0070000' to 70000.
Dim numericStrings() As String = {"1293.8", "+1671.7", "28347.", 
                                  "   33113684  ", "(0)", "-0", "-1",
                                  "+1293617", "18-", "119870", 
                                  "31,024", "  3127094 ", "0070000" }
Dim number As UInteger
For Each numericString As String In numericStrings
   If UInt32.TryParse(numericString, number) Then
      Console.WriteLine("Converted '{0}' to {1}.", numericString, number)
   Else
      Console.WriteLine("Cannot convert '{0}' to a UInt32.", numericString)
   End If      
Next
' The example displays the following output:
'       Cannot convert '1293.8' to a UInt32.
'       Cannot convert '+1671.7' to a UInt32.
'       Cannot convert '28347.' to a UInt32.
'       Converted '   33113684  ' to 33113684.
'       Cannot convert '(0)' to a UInt32.
'       Converted '-0' to 0.
'       Cannot convert '-1' to a UInt32.
'       Converted '+1293617' to 1293617.
'       Cannot convert '18-' to a UInt32.
'       Converted '119870' to 119870.
'       Cannot convert '31,024' to a UInt32.
'       Converted '  3127094 ' to 3127094.
'       Converted '0070000' to 70000.

Hinweise

Die TryParse Methode ähnelt der Parse Methode, mit der Ausnahme, dass sie keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt. Diese Methode beseitigt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um zu testen FormatException , ob s ungültig ist und nicht erfolgreich analysiert werden kann.

Der s Parameter sollte die Zeichenfolgendarstellung einer Dezimalzahl in der folgenden Form sein:

[ws] [Sign] Ziffern[ws]

Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
ws Optionaler Leerraum.
sign Ein optionales Zeichen. Gültige Zeichenzeichen werden durch die NumberFormatInfo.NegativeSign eigenschaften NumberFormatInfo.PositiveSign der aktuellen Kultur bestimmt.
Zahlen Eine Abfolge von Dezimalstellen zwischen 0 und 9.

Der s Parameter wird mithilfe der NumberStyles.Integer Formatvorlage interpretiert. Zusätzlich zu den Dezimalstellen sind nur führende und nachgestellte Leerzeichen mit einem führenden Zeichen zulässig. Rufen Sie die TryParse(String, NumberStyles, IFormatProvider, UInt32) Methode auf, um die Formatvorlagenelemente explizit mit den kulturspezifischen Formatierungsinformationen zu definieren, die vorhanden ssein können.

Hinweis

Die durch den s Parameter angegebene Zeichenfolge darf keine Gruppentrennzeichen oder Dezimaltrennzeichen enthalten, und es kann kein Bruchteil vorhanden sein.

Der s Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo Objekt für die aktuelle Systemkultur analysiert. Weitere Informationen finden Sie unter NumberFormatInfo.CurrentInfo.

Diese Überladung interpretiert alle Ziffern im s Parameter als Dezimalstellen. Um die Zeichenfolgendarstellung einer Hexadezimalzahl zu analysieren, rufen Sie stattdessen die TryParse(String, NumberStyles, IFormatProvider, UInt32) Überladung auf.

Siehe auch

Gilt für:

TryParse(String, NumberStyles, IFormatProvider, UInt32)

Wichtig

Diese API ist nicht CLS-kompatibel.

CLS-kompatible Alternative
System.Int64.TryParse(String, Int64)

Versucht, die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt32 % result);
public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt32 % result) = System::Numerics::INumber<System::UInt32>::TryParse;
[System.CLSCompliant(false)]
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out uint result);
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out uint result);
[System.CLSCompliant(false)]
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out uint result);
[<System.CLSCompliant(false)>]
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * uint32 -> bool
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * uint32 -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As UInteger) As Boolean

Parameter

s
String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt. Die Zeichenfolge wird unter Verwendung des durch den style-Parameter angegebenen Stils interpretiert.

style
NumberStyles

Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von s angibt. Ein häufig angegebener Wert ist Integer.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.

result
UInt32

Diese Methode gibt bei erfolgreicher Konvertierung den 32-Bit-Ganzzahlwert mit Vorzeichen zurück, der der Zahl in s entspricht, und 0 (null), wenn die Konvertierung nicht durchgeführt werden konnte. Die Konvertierung schlägt fehl, wenn der s Parameter null Emptynicht in einem formatkonform styleist oder eine Zahl darstellt, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValue ist. Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.

Gibt zurück

Boolean

true, wenn s erfolgreich konvertiert wurde, andernfalls false.

Attribute

Ausnahmen

style ist kein NumberStyles-Wert.

- oder -

style ist keine Kombination von AllowHexSpecifier- und HexNumber-Werten.

Beispiele

Im folgenden Beispiel wird die TryParse(String, NumberStyles, IFormatProvider, UInt32) Methode mit einer Reihe verschiedener Zeichenfolgen und NumberStyles Werte aufgerufen.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string numericString;
      NumberStyles styles;
      
      numericString = "2106034";
      styles = NumberStyles.Integer;
      CallTryParse(numericString, styles);
      
      numericString = "-10603";
      styles = NumberStyles.None;
      CallTryParse(numericString, styles);
      
      numericString = "29103674.00";
      styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
      CallTryParse(numericString, styles);
      
      numericString = "10345.72";
      styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
      CallTryParse(numericString, styles);

      numericString = "41792210E-01";
      styles = NumberStyles.Integer | NumberStyles.AllowExponent;
      CallTryParse(numericString, styles); 
      
      numericString = "9112E-01";
      CallTryParse(numericString, styles);
          
      numericString = "312E01";
      CallTryParse(numericString, styles); 
      
      numericString = "FFC86DA1";
      CallTryParse(numericString, NumberStyles.HexNumber);
      
      numericString = "0x8F8C";
      CallTryParse(numericString, NumberStyles.HexNumber);
   }
   
   private static void CallTryParse(string stringToConvert, NumberStyles styles)
   {
      uint number;
      bool result = UInt32.TryParse(stringToConvert, styles, 
                                   CultureInfo.InvariantCulture, out number);
      if (result)
         Console.WriteLine($"Converted '{stringToConvert}' to {number}.");
      else
         Console.WriteLine($"Attempted conversion of '{stringToConvert}' failed.");
   }
}
// The example displays the following output:
//       Converted '2106034' to 2106034.
//       Attempted conversion of '-10603' failed.
//       Converted '29103674.00' to 29103674.
//       Attempted conversion of '10345.72' failed.
//       Converted '41792210E-01' to 4179221.
//       Attempted conversion of '9112E-01' failed.
//       Converted '312E01' to 3120.
//       Converted 'FFC86DA1' to 4291325345.
//       Attempted conversion of '0x8F8C' failed.
open System
open System.Globalization

let callTryParse (stringToConvert: string) (styles: NumberStyles) =
    match UInt32.TryParse(stringToConvert, styles, CultureInfo.InvariantCulture) with
    | true, number ->
        printfn $"Converted '{stringToConvert}' to {number}."
        printfn $"Attempted conversion of '{stringToConvert}' failed."
    | _ -> ()

do
    let numericString = "2106034"
    let styles = NumberStyles.Integer
    callTryParse numericString styles

    let numericString = "-10603"
    let styles = NumberStyles.None
    callTryParse numericString styles

    let numericString = "29103674.00"
    let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
    callTryParse numericString styles

    let numericString = "10345.72"
    let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
    callTryParse numericString styles

    let numericString = "41792210E-01"
    let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
    callTryParse numericString styles 

    let numericString = "9112E-01"
    callTryParse numericString styles
        
    let numericString = "312E01"
    callTryParse numericString styles 

    let numericString = "FFC86DA1"
    callTryParse numericString NumberStyles.HexNumber

    let numericString = "0x8F8C"
    callTryParse numericString NumberStyles.HexNumber
   
// The example displays the following output:
//       Converted '2106034' to 2106034.
//       Attempted conversion of '-10603' failed.
//       Converted '29103674.00' to 29103674.
//       Attempted conversion of '10345.72' failed.
//       Converted '41792210E-01' to 4179221.
//       Attempted conversion of '9112E-01' failed.
//       Converted '312E01' to 3120.
//       Converted 'FFC86DA1' to 4291325345.
//       Attempted conversion of '0x8F8C' failed.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim numericString As String
      Dim styles As NumberStyles
      
      numericString = "2106034"
      styles = NumberStyles.Integer
      CallTryParse(numericString, styles)
      
      numericString = "-10603"
      styles = NumberStyles.None
      CallTryParse(numericString, styles)
      
      numericString = "29103674.00"
      styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
      CallTryParse(numericString, styles)
      
      numericString = "10345.72"
      styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
      CallTryParse(numericString, styles)

      numericString = "41792210E-01"
      styles = NumberStyles.Integer Or NumberStyles.AllowExponent
      CallTryParse(numericString, styles) 
      
      numericString = "9112E-01"
      CallTryParse(numericString, styles)
          
      numericString = "312E01"
      CallTryParse(numericString, styles) 
      
      numericString = "FFC86DA1"
      CallTryParse(numericString, NumberStyles.HexNumber)
      
      numericString = "0x8F8C"
      CallTryParse(numericString, NumberStyles.HexNumber)
   End Sub
   
   Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
      Dim number As UInteger
      Dim result As Boolean = UInt32.TryParse(stringToConvert, styles, _
                                              CultureInfo.InvariantCulture, number)
      If result Then
         Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
      Else
         Console.WriteLine("Attempted conversion of '{0}' failed.", _
                           Convert.ToString(stringToConvert))
      End If                                                                           
   End Sub
End Module
' The example displays the following output to the console:
'       Converted '2106034' to 2106034.
'       Attempted conversion of '-10603' failed.
'       Converted '29103674.00' to 29103674.
'       Attempted conversion of '10345.72' failed.
'       Converted '41792210E-01' to 4179221.
'       Attempted conversion of '9112E-01' failed.
'       Converted '312E01' to 3120.
'       Converted 'FFC86DA1' to 4291325345.
'       Attempted conversion of '0x8F8C' failed.

Hinweise

Die TryParse(String, NumberStyles, IFormatProvider, UInt32) Methode ähnelt der Parse(String, NumberStyles, IFormatProvider) Methode, mit der Ausnahme, dass sie keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt. Diese Methode beseitigt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um zu testen FormatException , ob s ungültig ist und nicht erfolgreich analysiert werden kann.

Der style Parameter definiert die Formatvorlagenelemente (z. B. Leerzeichen oder ein positives oder negatives Zeichen), die im Parameter zulässig sind, damit der s Analysevorgang erfolgreich verläuft. Es muss eine Kombination aus Bitkennzeichnungen aus der NumberStyles Enumeration sein. Abhängig vom Wert von style, kann der s Parameter die folgenden Elemente enthalten:

[ws] [][*$*Zeichen][Ziffern;]Ziffern[]fractional_digits][E[Sign]exponential_digits][ws]

Elemente in eckigen Klammern ([ und ]) sind optional. Oder, wenn der Parameter enthält, kann der style s Parameter die folgenden Elemente enthaltenNumberStyles.AllowHexSpecifier:

[ws] hexdigits[ws]

In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
ws Optionaler Leerraum. Leerzeichen können am Anfang s angezeigt werden, wenn style das NumberStyles.AllowLeadingWhite Kennzeichen enthalten ist, oder am Ende, s wenn style das NumberStyles.AllowTrailingWhite Kennzeichen enthalten ist.
$ Ein kulturspezifisches Währungssymbol. Seine Position in der Zeichenfolge wird durch die CurrencyPositivePattern Eigenschaft des NumberFormatInfo Objekts definiert, das von der GetFormat Methode des provider Parameters zurückgegeben wird. Das Währungssymbol kann angezeigt werden s , wenn style das NumberStyles.AllowCurrencySymbol Kennzeichen enthalten ist.
sign Ein optionales Zeichen. Das Zeichen kann am Anfang s angezeigt werden, wenn style das NumberStyles.AllowLeadingSign Kennzeichen enthalten ist, und es kann am Ende s angezeigt werden, wenn style das NumberStyles.AllowTrailingSign Kennzeichen enthalten ist. Klammern können verwendet s werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses Kennzeichen enthalten ist. Wenn das negative Zeichen jedoch vorhanden ist, s kann nur der Wert Null für den Analysevorgang dargestellt werden, um erfolgreich zu sein.
Zahlen Eine Abfolge von Ziffern von 0 bis 9.
, Ein kulturspezifisches Gruppentrennzeichen. Das Gruppentrennzeichen der durch diese Kultur angegebenen provider Kultur kann angezeigt werden, wenn style das NumberStyles.AllowThousands Kennzeichen enthalten s ist.
. Ein kulturspezifisches Dezimalkommasymbol. Das Dezimalkommasymbol der von ihnen angegebenen provider Kultur kann angezeigt werden s , wenn style das NumberStyles.AllowDecimalPoint Kennzeichen enthalten ist.
fractional_digits Mindestens ein Vorkommen der Ziffer 0. Bruchstellen können nur angezeigt werden s , wenn style das NumberStyles.AllowDecimalPoint Kennzeichen enthalten ist.
E Das Zeichen "e" oder "E", das angibt, dass der Wert in exponentieller (wissenschaftlicher) Notation dargestellt wird. Der s Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthalten ist.
exponential_digits Eine Abfolge von Ziffern von 0 bis 9. Der s Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthalten ist.
hexdigits Eine Sequenz von Hexadezimalstellen von 0 bis f oder 0 bis F.

Hinweis

Alle endenden NUL (U+0000)-Zeichen s werden vom Analysevorgang ignoriert, unabhängig vom Wert des style Arguments.

Eine Zeichenfolge mit Dezimalstellen nur (die dem NumberStyles.None Flag entspricht) analysiert immer erfolgreich. Die meisten verbleibenden NumberStyles Member steuern Elemente, die vorhanden sein können, aber nicht vorhanden sind, in dieser Eingabezeichenfolge. In der folgenden Tabelle wird angegeben, wie sich einzelne NumberStyles Elemente auf die Elemente auswirken, die möglicherweise vorhanden ssind.

Nicht zusammengesetzte NumberStyles Werte Elemente, die in Wert zulässig sind, zusätzlich zu Ziffern
None Dezimalstellen nur.
AllowDecimalPoint Der Dezimalpunkt (.) und fractional_digits Elemente. Fractional_digits muss jedoch nur aus einer oder mehreren Ziffern bestehen, oder die Methode gibt zurückfalse.
AllowExponent Das Zeichen "e" oder "E", das exponentielle Notation angibt, zusammen mit exponential_digits. Wenn s eine Zahl in exponentieller Notation dargestellt wird, kann es nicht über eine Nicht-Null-, Bruchkomponente verfügen.
AllowLeadingWhite Das ws-Element am Anfang von s.
AllowTrailingWhite Das ws-Element am Ende von s.
AllowLeadingSign Das Sign-Element vor Ziffern.
AllowTrailingSign Das Sign-Element nach Ziffern.
AllowParentheses Das Sign-Element in Form von Klammern, die einen null numerischen Wert einschließen.
AllowThousands Das Gruppentrennzeichen (,)-Element.
AllowCurrencySymbol Das Währungselement ($)
Currency Alle Elemente. s Eine hexadezimale Zahl oder eine Zahl in exponentieller Notation kann jedoch nicht dargestellt werden.
Float Das ws-Element am Anfang oder Ende von , signieren Sie am Anfang von s``s, und das Dezimalzeichen (.) Symbol. Der s Parameter kann auch exponentielle Notation verwenden.
Number Die Elemente ws, Sign, Gruppentrennzeichen (,) und Dezimalpunkt (.)
Any Alle Elemente. s Eine hexadezimale Zahl kann jedoch nicht dargestellt werden.

Wenn das NumberStyles.AllowHexSpecifier Flag verwendet wird, s muss es sich um einen Hexadezimalwert handelt. Die einzigen anderen Flags, die vorhanden style sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Aufzählung verfügt über eine zusammengesetzte Formatvorlage, HexNumberdie beide Leerzeichen-Flags enthält.)

Hinweis

Wenn s es sich um die Zeichenfolgendarstellung einer Hexadezimalzahl handelt, kann es nicht vor einer Dekoration (z 0x . B. oder &h) erfolgen, die sie als Hexadezimalzahl unterscheidet. Dies führt dazu, dass die Konvertierung fehlschlägt.

Der provider Parameter ist eine IFormatProvider Implementierung. Die GetFormat Methode gibt ein NumberFormatInfo Objekt zurück, das kulturspezifische Informationen zum Format von s. Der provider Parameter kann eine der folgenden Sein:

  • Ein CultureInfo Objekt, das die Kultur darstellt, die Formatierungsinformationen bereitstellt. Die GetFormat Methode gibt das NumberFormatInfo Objekt zurück, das numerische Formatierungsinformationen für diese Kultur bereitstellt.

  • Ein NumberFormatInfo Objekt, das numerische Formatierungsinformationen bereitstellt. (Seine Implementierung GetFormat der nur zurückgibt.)

  • Ein benutzerdefiniertes Objekt, das implementiert IFormatProvider. Seine GetFormat Methode instanziiert und gibt das NumberFormatInfo Objekt zurück, das Formatierungsinformationen bereitstellt.

If provider is null, the NumberFormatInfo object for the current culture is used.

Siehe auch

Gilt für:

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UInt32)

Wichtig

Diese API ist nicht CLS-kompatibel.

Versucht, die Spannenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

public:
 static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt32 % result);
public:
 static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt32 % result) = System::Numerics::INumber<System::UInt32>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out uint result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out uint result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out uint result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint32 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint32 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As UInteger) As Boolean

Parameter

s
ReadOnlySpan<Char>

Eine Zeichenspanne, die die zu konvertierende Zahl darstellt Die Zeichenspanne wird unter Verwendung des durch den style-Parameter angegebenen Stils interpretiert.

style
NumberStyles

Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von s angibt. Ein häufig angegebener Wert ist Integer.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.

result
UInt32

Diese Methode gibt bei erfolgreicher Konvertierung den 32-Bit-Ganzzahlwert mit Vorzeichen zurück, der der Zahl in s entspricht, und 0 (null), wenn die Konvertierung nicht durchgeführt werden konnte. Die Konvertierung schlägt fehl, wenn der s Parameter null Emptynicht in einem formatkonform styleist oder eine Zahl darstellt, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValue ist. Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.

Gibt zurück

Boolean

true, wenn s erfolgreich konvertiert wurde, andernfalls false.

Attribute

Gilt für: