UInt32.TryParse Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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<Byte>, IFormatProvider, UInt32) |
Versucht, eine Spanne von UTF-8-Zeichen in einen Wert zu analysieren. |
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(ReadOnlySpan<Char>, IFormatProvider, UInt32) |
Versucht, eine Spanne von Zeichen in einen Wert zu analysieren. |
TryParse(String, IFormatProvider, UInt32) |
Versucht, eine Zeichenfolge in einen Wert zu analysieren. |
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt32) |
Versucht, eine Spanne von UTF-8-Zeichen in einen Wert zu analysieren. |
TryParse(ReadOnlySpan<Byte>, UInt32) |
Versucht, eine UTF-8-Zeichenspanne mit der Zeichenfolgendarstellung einer Zahl in ihre 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren. |
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(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<Byte>, IFormatProvider, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.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::UInt32 % result) = IUtf8SpanParsable<System::UInt32>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out uint result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * uint32 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As UInteger) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Die Spanne der zu analysierenden UTF-8-Zeichen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu utf8Text
bereitstellt.
- result
- UInt32
Enthält bei Rückgabe das Ergebnis der erfolgreichen Analyse oder einen nicht definierten utf8Text
Wert bei Fehler.
Gibt zurück
true
, wenn utf8Text
erfolgreich analysiert wurde, false
andernfalls .
Gilt für:
TryParse(ReadOnlySpan<Char>, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
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 null
oder Emptyist nicht im richtigen Format oder stellt eine Zahl dar, 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
true
, wenn s
erfolgreich konvertiert wurde, andernfalls false
.
- Attribute
Gilt für:
TryParse(String, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
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 null
oder Emptyist nicht im richtigen Format oder stellt eine Zahl dar, 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
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 -Methode, mit dem Parse Unterschied, dass sie keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt. Diese Methode entfällt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um zu testen, ob s
ein FormatException ungültig ist und nicht erfolgreich analysiert werden kann.
Der s
Parameter sollte die Zeichenfolgendarstellung einer Dezimalzahl in der folgenden Form sein:
[ws] [sign] digits[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 Zeichen werden durch die NumberFormatInfo.NegativeSign Eigenschaften und NumberFormatInfo.PositiveSign der aktuellen Kultur bestimmt. |
Zahlen | Eine Sequenz von Dezimalstellen im Bereich von 0 bis 9. |
Der s
Parameter wird mithilfe des Stils NumberStyles.Integer interpretiert. Zusätzlich zu den Dezimalstellen sind nur führende und nachfolgende Leerzeichen mit einem vorangestellten Zeichen zulässig. Rufen Sie die -Methode auf, um die Stilelemente explizit mit den kulturspezifischen Formatierungsinformationen zu definieren, die TryParse(String, NumberStyles, IFormatProvider, UInt32) in s
vorhanden sein können.
Hinweis
Die durch den s
Parameter angegebene Zeichenfolge darf keine Gruppentrennzeichen oder Dezimaltrennzeichen enthalten, und sie kann keinen Bruchteil aufweisen.
Der s
Parameter wird analysiert, indem die Formatierungsinformationen in einem NumberFormatInfo Objekt für die aktuelle Systemkultur verwendet werden. 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.
Weitere Informationen
- Parse(String)
- ToString()
- Analysieren numerischer Zeichenfolgen in .NET
- Beispiel: .NET Core-Hilfsprogramm zur Formatierung von WinForms (C#)
- Beispiel: .NET Core-Hilfsprogramm zur Formatierung von WinForms (Visual Basic)
Gilt für:
TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
Versucht, eine Spanne 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
- s
- ReadOnlySpan<Char>
Die Spanne der zu analysierenden Zeichen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s
bereitstellt.
- result
- UInt32
Wenn diese Methode zurückgibt, enthält das Ergebnis der erfolgreichen Analyse oder einen nicht definierten s
Wert bei Fehler.
Gibt zurück
true
, wenn s
erfolgreich analysiert wurde, false
andernfalls .
Gilt für:
TryParse(String, IFormatProvider, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
Versucht, eine Zeichenfolge in einen Wert zu analysieren.
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
Die zu analysierende Zeichenfolge.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s
bereitstellt.
- result
- UInt32
Wenn diese Methode zurückgibt, enthält das Ergebnis der erfolgreichen s
Analyse oder einen undefinierten Wert bei Fehler.
Gibt zurück
true
, wenn s
erfolgreich analysiert wurde, false
andernfalls .
Gilt für:
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.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::UInt32 % result) = System::Numerics::INumberBase<System::UInt32>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out uint result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * uint32 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As UInteger) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Die Spanne der zu analysierenden UTF-8-Zeichen.
- style
- NumberStyles
Eine bitweise Kombination von Zahlenformaten, die in utf8Text
vorhanden sein können.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu utf8Text
bereitstellt.
- result
- UInt32
Enthält bei Rückgabe das Ergebnis der erfolgreichen Analyse oder einen nicht definierten utf8Text
Wert bei Fehler.
Gibt zurück
true
, wenn utf8Text
erfolgreich analysiert wurde, false
andernfalls .
Gilt für:
TryParse(ReadOnlySpan<Byte>, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
Versucht, eine UTF-8-Zeichenspanne, die die Zeichenfolgendarstellung einer Zahl enthält, in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen zu konvertieren.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::UInt32 % result);
public static bool TryParse (ReadOnlySpan<byte> utf8Text, out uint result);
static member TryParse : ReadOnlySpan<byte> * uint32 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As UInteger) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Eine Spanne, die die UTF-8-Zeichen enthält, die die zu konvertierende Zahl darstellen.
- result
- UInt32
Wenn diese Methode zurückgibt, enthält die 32-Bit-Ganzzahl ohne Vorzeichen, die der Zahl entspricht, die in utf8Text
enthalten ist, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Dieser Parameter wird nicht initialisiert übergeben. Im Ergebnis ursprünglich übergebene Werte werden ausnahmslos überschrieben.
Gibt zurück
true
, wenn utf8Text
erfolgreich konvertiert wurde, andernfalls false
.
Gilt für:
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
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::INumberBase<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
oder Emptyist, nicht in einem Format mit kompatibel style
ist 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
true
, wenn s
erfolgreich konvertiert wurde, andernfalls false
.
- Attribute
Gilt für:
TryParse(String, NumberStyles, IFormatProvider, UInt32)
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
- Quelle:
- UInt32.cs
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::INumberBase<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
oder Emptyist, nicht in einem Format mit kompatibel style
ist 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
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 -Methode, mit der Parse(String, NumberStyles, IFormatProvider) Ausnahme, dass sie keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt. Diese Methode entfällt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um zu testen, ob s
ungültig FormatException ist und nicht erfolgreich analysiert werden kann.
Der style
Parameter definiert die Stilelemente (z. B. Leerzeichen oder ein positives oder negatives Vorzeichen), die s
im Parameter zulässig sind, damit der Analysevorgang erfolgreich ist. Es muss sich um eine Kombination von Bitflags aus der NumberStyles Enumeration handeln. 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 style
Parameter enthält NumberStyles.AllowHexSpecifier, kann der s
Parameter die folgenden Elemente enthalten:
[ws] hexdigits[ws]
In der folgenden Tabelle wird jedes Element beschrieben.
Element | BESCHREIBUNG |
---|---|
ws | Optionaler Leerraum. Leerzeichen können am Anfang von s angezeigt werden, wenn style das NumberStyles.AllowLeadingWhite Flag enthalten ist, oder am Ende von s , wenn style das NumberStyles.AllowTrailingWhite Flag enthält. |
$ | Ein kulturspezifisches Währungssymbol. Seine Position in der Zeichenfolge wird durch die CurrencyPositivePattern -Eigenschaft des Objekts definiert, das NumberFormatInfo 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. |
sign | Ein optionales Zeichen. Das Zeichen kann am Anfang von s angezeigt werden, wenn style das NumberStyles.AllowLeadingSign Flag enthält, und es kann am Ende von 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 enthalten ist. Wenn jedoch das negative Vorzeichen vorhanden ist, kann nur den Wert 0 darstellen, s damit der Analysevorgang erfolgreich ist. |
Zahlen | Eine Sequenz von Ziffern von 0 bis 9. |
, | Ein kulturspezifisches Gruppentrennzeichen. Das Gruppentrennzeichen der von provider angegebenen Kultur kann in s angezeigt werden, wenn style das NumberStyles.AllowThousands Flag enthält. |
. | Ein kulturspezifisches Dezimaltrennzeichen. Das Dezimaltrennzeichensymbol der von provider angegebenen Kultur kann in s angezeigt werden, wenn style das NumberStyles.AllowDecimalPoint Flag enthält. |
fractional_digits | Mindestens ein Vorkommen der Ziffer 0. Bruchstellen können nur in s angezeigt werden, wenn style das NumberStyles.AllowDecimalPoint Flag 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 Sequenz 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-Zeichen (U+0000) in s
werden vom Analysevorgang ignoriert, unabhängig vom Wert des style
Arguments.
Eine Zeichenfolge nur mit Dezimalstellen (die dem NumberStyles.None Flag entspricht) analysiert immer erfolgreich. Die meisten der verbleibenden NumberStyles Member steuert Elemente, die in dieser Eingabezeichenfolge möglicherweise vorhanden sind, aber nicht vorhanden sein müssen. Die folgende Tabelle gibt an, wie sich einzelne NumberStyles Member auf die Elemente auswirken, die in s
vorhanden sein können.
Nicht zusammengesetzte NumberStyles Werte |
Zulässige Elemente im Wert zusätzlich zu Ziffern |
---|---|
None | Nur Dezimalstellen. |
AllowDecimalPoint | Das Dezimaltrennzeichen (.) und fractional_digits Elemente.
Fractional_digits darf jedoch nur aus einer oder mehreren 0 Ziffern bestehen, oder die -Methode gibt zurückfalse . |
AllowExponent | Das Zeichen "e" oder "E", das die exponentielle Notation angibt, zusammen mit exponential_digits. Wenn s eine Zahl in exponentieller Notation darstellt, kann sie keine Bruchkomponente ungleich 0 (Null) aufweisen. |
AllowLeadingWhite | Das ws-Element am Anfang von s . |
AllowTrailingWhite | Das ws-Element am Ende von s . |
AllowLeadingSign | Das Vorzeichenelement vor Ziffern. |
AllowTrailingSign | Das Zeichenelement nach Ziffern. |
AllowParentheses | Das Zeichenelement in Form von Klammern, die einen numerischen Nullwert umschließen. |
AllowThousands | Das Gruppentrennzeichen (,)-Element. |
AllowCurrencySymbol | Das Währungselement ($). |
Currency | Alle Elemente. Kann jedoch s keine hexadezimale Zahl oder eine Zahl in exponentieller Notation darstellen. |
Float | Das ws-Element am Anfang oder Ende von s , signieren am Anfang von s und das Dezimaltrennzeichen (.). Der s Parameter kann auch exponentielle Notation verwenden. |
Number | Die Elemente ws, sign, group separator (,) und decimal point (.) |
Any | Alle Elemente. Kann jedoch s keine Hexadezimalzahl darstellen. |
Wenn das NumberStyles.AllowHexSpecifier Flag verwendet wird, s
muss ein Hexadezimalwert sein. Die einzigen anderen Flags, die in style
vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Enumeration weist ein zusammengesetztes Format auf, HexNumberdas beide Leerzeichenflags enthält.)
Hinweis
Wenn s
die Zeichenfolgendarstellung einer Hexadezimalzahl ist, kann ihr keine Dekoration (z 0x
. B. 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 über das Format von s
bereitstellt. Der provider
Parameter kann einer der folgenden Parameter 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 von GetFormat gibt sich einfach selbst zurück.)
Ein benutzerdefiniertes IFormatProviderObjekt, das implementiert. Die - GetFormat Methode instanziiert und gibt das NumberFormatInfo -Objekt zurück, das Formatierungsinformationen bereitstellt.
Wenn provider
ist null
, wird das NumberFormatInfo -Objekt für die aktuelle Kultur verwendet.
Weitere Informationen
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für