Teilen über


UInt64.TryParse Methode

Definition

Versucht, die Zeichenfolgendarstellung einer Zahl in die 64-Bit-ganzzahlige Entsprechung ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

Überlädt

TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt64)

Versucht, eine Spanne von UTF-8 Zeichen in einen Wert zu analysieren.

TryParse(ReadOnlySpan<Char>, UInt64)

Versucht, die Spandarstellung einer Zahl in die 64-Bit-ganzzahlige Äquivalente der 64-Bit-Zahl zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

TryParse(String, UInt64)

Versucht, die Zeichenfolgendarstellung einer Zahl in die 64-Bit-ganzzahlige Entsprechung ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt64)

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

TryParse(String, IFormatProvider, UInt64)

Versucht, eine Zeichenfolge in einen Wert zu analysieren.

TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt64)

Versucht, eine Spanne von UTF-8 Zeichen in einen Wert zu analysieren.

TryParse(ReadOnlySpan<Byte>, UInt64)

Versucht, einen UTF-8-Zeichenbereich zu konvertieren, der die Zeichenfolgendarstellung einer Zahl in seine 64-Bit-ganzzahlige Entsprechung ohne Vorzeichen enthält.

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

Versucht, die Spandarstellung einer Zahl in einem angegebenen Format und kulturspezifischen Format in die 64-Bit-ganzzahlige Entsprechung ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

TryParse(String, NumberStyles, IFormatProvider, UInt64)

Versucht, die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in das 64-Bit-Äquivalent einer nicht signierten ganzzahligen Zahl zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt64)

Quelle:
UInt64.cs
Quelle:
UInt64.cs

Versucht, eine Spanne von UTF-8 Zeichen in einen Wert zu analysieren.

public:
 static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt64 % result) = IUtf8SpanParsable<System::UInt64>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out ulong result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * uint64 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As ULong) As Boolean

Parameter

utf8Text
ReadOnlySpan<Byte>

Die Spanne von UTF-8 Zeichen, die analysiert werden sollen.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu utf8Textbereitstellt.

result
UInt64

Enthält das Ergebnis der erfolgreichen Analyse utf8Text oder eines nicht definierten Werts für fehler.

Gibt zurück

true, wenn utf8Text erfolgreich analysiert wurde; andernfalls false.

Gilt für:

TryParse(ReadOnlySpan<Char>, UInt64)

Quelle:
UInt64.cs
Quelle:
UInt64.cs
Quelle:
UInt64.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Versucht, die Spandarstellung einer Zahl in die 64-Bit-ganzzahlige Äquivalente der 64-Bit-Zahl zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

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

Parameter

s
ReadOnlySpan<Char>

Eine Spanne mit den Zeichen, die die zu konvertierende Zahl darstellen.

result
UInt64

Wenn diese Methode zurückgegeben wird, enthält sie den 64-Bit-Ganzzahlwert ohne Vorzeichen, der der in senthaltenen Zahl entspricht, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter null oder Emptyist, nicht das richtige Format aufweist oder eine Zahl kleiner als UInt64.MinValue oder größer als UInt64.MaxValuedarstellt. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich in result angegebenen Werte werden überschrieben.

Gibt zurück

true, wenn s erfolgreich konvertiert wurde; andernfalls false.

Attribute

Gilt für:

TryParse(String, UInt64)

Quelle:
UInt64.cs
Quelle:
UInt64.cs
Quelle:
UInt64.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

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

Versucht, die Zeichenfolgendarstellung einer Zahl in die 64-Bit-ganzzahlige Entsprechung ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

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

Parameter

s
String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.

result
UInt64

Wenn diese Methode zurückgegeben wird, enthält sie den 64-Bit-Ganzzahlwert ohne Vorzeichen, der der in senthaltenen Zahl entspricht, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter null oder Emptyist, nicht das richtige Format aufweist oder eine Zahl kleiner als UInt64.MinValue oder größer als UInt64.MaxValuedarstellt. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich in result angegebenen Werte werden überschrieben.

Gibt zurück

true, wenn s erfolgreich konvertiert wurde; andernfalls false.

Attribute

Beispiele

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

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

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

Hinweise

Die TryParse(String, UInt64)-Methode ähnelt der Parse(String)-Methode, mit der Ausnahme, dass keine Ausnahme ausgelöst wird, wenn die Konvertierung fehlschlägt. Diese Methode beseitigt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um eine FormatException zu testen, wenn s ungültig ist und nicht erfolgreich analysiert werden kann.

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

[ws] [Zeichen]Ziffern[ws]

Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle werden die einzelnen Elemente beschrieben.

Element Beschreibung
ws Optionaler Leerraum.
signieren Ein optionales Zeichen. Gültige Zeichenzeichen werden durch die eigenschaften NumberFormatInfo.NegativeSign und NumberFormatInfo.PositiveSign der aktuellen Kultur bestimmt.
Ziffern Eine Sequenz von Dezimalziffern zwischen 0 und 9.

Der s-Parameter wird mithilfe der NumberStyles.Integer-Formatvorlage interpretiert. Zusätzlich zu den Dezimalziffern sind nur führende und nachfolgende Leerzeichen mit einem vorangestellten Zeichen zulässig. Um die Formatvorlagenelemente explizit mit den kulturspezifischen Formatierungsinformationen zu definieren, die in svorhanden sein können, rufen Sie die TryParse(String, NumberStyles, IFormatProvider, UInt64)-Methode auf.

Anmerkung

Die durch den parameter s angegebene Zeichenfolge darf keine Gruppentrennzeichen oder Dezimaltrennzeichen enthalten, und sie darf keinen Bruchteil aufweisen.

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

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

Weitere Informationen

Gilt für:

TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt64)

Quelle:
UInt64.cs
Quelle:
UInt64.cs
Quelle:
UInt64.cs

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

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

Parameter

s
ReadOnlySpan<Char>

Die Spanne der zu analysierenden Zeichen.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu sbereitstellt.

result
UInt64

Wenn diese Methode zurückgegeben wird, enthält das Ergebnis der erfolgreichen Analyse soder eines nicht definierten Werts für fehler.

Gibt zurück

true, wenn s erfolgreich analysiert wurde; andernfalls false.

Gilt für:

TryParse(String, IFormatProvider, UInt64)

Quelle:
UInt64.cs
Quelle:
UInt64.cs
Quelle:
UInt64.cs

Versucht, eine Zeichenfolge in einen Wert zu analysieren.

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

Parameter

s
String

Die zu analysierende Zeichenfolge.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu sbereitstellt.

result
UInt64

Wenn diese Methode zurückgegeben wird, enthält das Ergebnis der erfolgreichen Analyse s oder eines nicht definierten Werts für fehler.

Gibt zurück

true, wenn s erfolgreich analysiert wurde; andernfalls false.

Gilt für:

TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt64)

Quelle:
UInt64.cs
Quelle:
UInt64.cs

Versucht, eine Spanne von UTF-8 Zeichen in einen Wert zu analysieren.

public:
 static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt64 % result) = System::Numerics::INumberBase<System::UInt64>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out ulong result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * uint64 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As ULong) As Boolean

Parameter

utf8Text
ReadOnlySpan<Byte>

Die Spanne von UTF-8 Zeichen, die analysiert werden sollen.

style
NumberStyles

Eine bitweise Kombination aus Zahlenformatvorlagen, die in utf8Textvorhanden sein können.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu utf8Textbereitstellt.

result
UInt64

Enthält das Ergebnis der erfolgreichen Analyse utf8Text oder eines nicht definierten Werts für fehler.

Gibt zurück

true, wenn utf8Text erfolgreich analysiert wurde; andernfalls false.

Gilt für:

TryParse(ReadOnlySpan<Byte>, UInt64)

Quelle:
UInt64.cs
Quelle:
UInt64.cs

Versucht, einen UTF-8-Zeichenbereich zu konvertieren, der die Zeichenfolgendarstellung einer Zahl in seine 64-Bit-ganzzahlige Entsprechung ohne Vorzeichen enthält.

public:
 static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::UInt64 % result);
public static bool TryParse (ReadOnlySpan<byte> utf8Text, out ulong result);
static member TryParse : ReadOnlySpan<byte> * uint64 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As ULong) As Boolean

Parameter

utf8Text
ReadOnlySpan<Byte>

Eine Spanne mit den UTF-8-Zeichen, die die zu konvertierende Zahl darstellen.

result
UInt64

Wenn diese Methode zurückgegeben wird, enthält sie den 64-Bit-Ganzzahlwert ohne Vorzeichen, der der in utf8Text enthaltenen Zahl entspricht, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich im Ergebnis angegebenen Werte werden überschrieben.

Gibt zurück

true, wenn utf8Text erfolgreich konvertiert wurde; andernfalls false.

Gilt für:

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

Quelle:
UInt64.cs
Quelle:
UInt64.cs
Quelle:
UInt64.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Versucht, die Spandarstellung einer Zahl in einem angegebenen Format und kulturspezifischen Format in die 64-Bit-ganzzahlige Entsprechung ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

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

Parameter

s
ReadOnlySpan<Char>

Eine Spanne mit den Zeichen, die die zu konvertierende Zahl darstellen. Die Spanne wird mithilfe der vom parameter style angegebenen Formatvorlage interpretiert.

style
NumberStyles

Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von sangibt. Ein typischer Wert, der angegeben werden soll, ist Integer.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu sbereitstellt.

result
UInt64

Wenn diese Methode zurückgegeben wird, enthält sie den 64-Bit-Ganzzahlwert ohne Vorzeichen, der der in senthaltenen Zahl entspricht, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s-Parameter null oder Emptyist, nicht in einem Format vorhanden ist, das mit stylekompatibel ist, oder eine Zahl kleiner als UInt64.MinValue oder größer als UInt64.MaxValuedarstellt. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich in result angegebenen Werte werden überschrieben.

Gibt zurück

true, wenn s erfolgreich konvertiert wurde; andernfalls false.

Attribute

Gilt für:

TryParse(String, NumberStyles, IFormatProvider, UInt64)

Quelle:
UInt64.cs
Quelle:
UInt64.cs
Quelle:
UInt64.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

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

Versucht, die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in das 64-Bit-Äquivalent einer nicht signierten ganzzahligen Zahl zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

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

Parameter

s
String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt. Die Zeichenfolge wird mithilfe der vom parameter style angegebenen Formatvorlage interpretiert.

style
NumberStyles

Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von sangibt. Ein typischer Wert, der angegeben werden soll, ist Integer.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu sbereitstellt.

result
UInt64

Wenn diese Methode zurückgegeben wird, enthält sie den 64-Bit-Ganzzahlwert ohne Vorzeichen, der der in senthaltenen Zahl entspricht, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s-Parameter null oder Emptyist, nicht in einem Format vorhanden ist, das mit stylekompatibel ist, oder eine Zahl kleiner als UInt64.MinValue oder größer als UInt64.MaxValuedarstellt. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich in result angegebenen Werte werden überschrieben.

Gibt zurück

true, wenn s erfolgreich konvertiert wurde; andernfalls false.

Attribute

Ausnahmen

style ist kein NumberStyles Wert.

-oder-

style ist keine Kombination aus AllowHexSpecifier und HexNumber Werten.

Beispiele

Im folgenden Beispiel wird die TryParse(String, NumberStyles, IFormatProvider, UInt64)-Methode mit einer Reihe unterschiedlicher 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)
   {
      ulong number;
      bool result = UInt64.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 UInt64.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 ULong
      Dim result As Boolean = UInt64.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, UInt64)-Methode ähnelt der Parse(String, NumberStyles, IFormatProvider)-Methode, mit der Ausnahme, dass keine Ausnahme ausgelöst wird, wenn die Konvertierung fehlschlägt. Diese Methode beseitigt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um eine FormatException zu testen, wenn s ungültig ist und nicht erfolgreich analysiert werden kann.

Der style-Parameter definiert die Formatvorlagenelemente (z. B. Leerzeichen oder ein positives oder negatives Vorzeichen), die im s-Parameter zulässig sind, damit der Analysevorgang erfolgreich ausgeführt werden kann. Es muss sich um eine Kombination aus Bitkennzeichnungen aus der NumberStyles Enumeration sein. Abhängig vom Wert von stylekann der s Parameter die folgenden Elemente enthalten:

[ws] [$] [Signieren] [Ziffern,]Ziffern[.fractional_digits][E[Zeichen]exponential_digits][ws]

Elemente in eckigen Klammern ([ und ]) sind optional. Wenn der parameter styleNumberStyles.AllowHexSpecifierenthält, kann der parameter s die folgenden Elemente enthalten:

[ws]hexdigits[ws]

In der folgenden Tabelle werden die einzelnen Elemente beschrieben.

Element Beschreibung
ws Optionaler Leerraum. Leerzeichen können am Anfang s angezeigt werden, wenn style die NumberStyles.AllowLeadingWhite-Kennzeichnung enthält, oder am Ende der s, wenn style das NumberStyles.AllowTrailingWhite Flag enthält.
$ Ein kulturspezifisches Währungssymbol. Die 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 in s angezeigt werden, wenn style das NumberStyles.AllowCurrencySymbol Flag enthält.
signieren Ein optionales Zeichen. Das Zeichen kann am Anfang der s angezeigt werden, wenn style das NumberStyles.AllowLeadingSign Flag enthält, und es kann am Ende der s angezeigt werden, wenn style das NumberStyles.AllowTrailingSign Flag enthält. Klammern können in s verwendet werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses Flag enthält. Wenn das negative Zeichen vorhanden ist, kann s jedoch nur den Wert Null für den erfolgreichen Analysevorgang darstellen.
Ziffern Eine Sequenz von Ziffern von 0 bis 9.
, Ein kulturspezifisches Gruppentrennzeichen. Das Gruppentrennzeichen der durch provider angegebenen Kultur kann in s angezeigt werden, wenn style das NumberStyles.AllowThousands-Kennzeichen enthält.
. Ein kulturspezifisches Dezimalkommasymbol. Das Dezimalkommasymbol der durch provider angegebenen Kultur kann in s angezeigt werden, wenn style das NumberStyles.AllowDecimalPoint Flag enthält.
fractional_digits Mindestens ein Vorkommen der Ziffer 0. Dezimalstellen können nur in s angezeigt werden, wenn style das NumberStyles.AllowDecimalPoint Flag enthält.
E Das Zeichen "e" oder "E", das angibt, dass der Wert in exponentieller (wissenschaftlicher) Schreibweise dargestellt wird. Der s-Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthält.
exponential_digits Eine Sequenz von Ziffern von 0 bis 9. Der s-Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthält.
hexdigits Eine Abfolge von hexadezimalen Ziffern von 0 bis f oder 0 bis F.

Anmerkung

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

Eine Zeichenfolge mit Dezimalziffern (die dem kennzeichen NumberStyles.None entspricht) analysiert immer erfolgreich. Die meisten der verbleibenden NumberStyles Elemente steuern Elemente, die vorhanden sein können, aber nicht vorhanden sein müssen, in dieser Eingabezeichenfolge. In der folgenden Tabelle wird angegeben, wie sich einzelne NumberStyles Member auf die Elemente auswirken, die in svorhanden sein können.

Nicht zusammengesetzte NumberStyles Werte Elemente, die zusätzlich zu Ziffern im Wert zulässig sind
None Nur Dezimalziffern.
AllowDecimalPoint Der Dezimalkomma (.) und fractional_digits Elemente. fractional_digits darf jedoch nur aus einer oder mehreren 0 Ziffern bestehen, oder die Methode gibt falsezurück.
AllowExponent Das Zeichen "e" oder "E", das exponentielle Notation zusammen mit exponential_digitsangibt. Wenn s eine Zahl in exponentieller Schreibweise darstellt, kann sie keine Nicht-Null-Bruchkomponente aufweisen.
AllowLeadingWhite Das ws-Element am Anfang s.
AllowTrailingWhite Das ws-Element am Ende s.
AllowLeadingSign Das Element vor Ziffernsignieren.
AllowTrailingSign Das signieren Element nach Ziffern.
AllowParentheses Das Zeichen Element in Form von Klammern, die einen numerischen Nullwert einschließen.
AllowThousands Das Gruppentrennzeichen (,) -Element.
AllowCurrencySymbol Das Währungselement ($)
Currency Alle Elemente. s kann jedoch keine hexadezimale Zahl oder eine Zahl in exponentieller Schreibweise darstellen.
Float Das ws-Element am Anfang oder Ende der s, Zeichen am Anfang s, und das Dezimalkomma (.) Symbol. Der parameter s kann auch exponentielle Notation verwenden.
Number Die ws, Zeichen, Gruppentrennzeichen (,) und Dezimalkomma (.) Elemente.
Any Alle Elemente. s kann jedoch keine hexadezimale Zahl darstellen.

Wenn das NumberStyles.AllowHexSpecifier-Flag verwendet wird, muss s ein Hexadezimalwert sein. Gültige Hexadezimalzeichen sind 0-9, A-F und a-f. Ein Präfix wie "0x" wird nicht unterstützt und bewirkt, dass der Analysevorgang fehlschlägt. Die einzigen anderen Kennzeichen, die in style vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles-Aufzählung weist eine zusammengesetzte Formatvorlage HexNumberauf, die beide Leerzeichen enthält.)

Anmerkung

Wenn s die Zeichenfolgendarstellung einer hexadezimalen Zahl ist, kann keine Dekoration (z. B. 0x oder &h) vorangestellt werden, die sie als hexadezimale Zahl 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 der sbereitstellt. 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 Umsetzung von GetFormat gibt sich einfach selbst zurück.)

  • Ein benutzerdefiniertes Objekt, das IFormatProviderimplementiert. Die GetFormat Methode instanziiert und gibt das NumberFormatInfo-Objekt zurück, das Formatierungsinformationen bereitstellt.

Wenn providernullist, wird das NumberFormatInfo Objekt für die aktuelle Kultur verwendet.

Weitere Informationen

Gilt für: