UInt16.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.
Konvertiert die Zeichenfolgendarstellung einer Zahl in die 16-Bit-ganzzahlige Entsprechung ohne Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.
Überlädt
| Name | Beschreibung |
|---|---|
| TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt16) |
Versucht, eine Spanne von UTF-8 Zeichen in einen Wert zu analysieren. |
| TryParse(ReadOnlySpan<Char>, UInt16) |
Versucht, die Spandarstellung einer Zahl in die 16-Bit-ganzzahlige Äquivalente der 16-Bit-Zahl zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist. |
| TryParse(String, UInt16) |
Versucht, die Zeichenfolgendarstellung einer Zahl in die 16-Bit-ganzzahlige Entsprechung ohne Vorzeichen zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt16) |
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren. |
| TryParse(String, IFormatProvider, UInt16) |
Versucht, eine Zeichenfolge in einen Wert zu analysieren. |
| TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt16) |
Versucht, eine Spanne von UTF-8 Zeichen in einen Wert zu analysieren. |
| TryParse(ReadOnlySpan<Byte>, UInt16) |
Versucht, einen UTF-8-Zeichenbereich zu konvertieren, der die Zeichenfolgendarstellung einer Zahl in seine 16-Bit-ganzzahlige Entsprechung ohne Vorzeichen enthält. |
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UInt16) |
Versucht, die Spandarstellung einer Zahl in einem angegebenen Format und kulturspezifischen Format in das 16-Bit-Ganzzahläquivalent zu konvertieren. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist. |
| TryParse(String, NumberStyles, IFormatProvider, UInt16) |
Versucht, die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in das 16-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, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.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::UInt16 % result) = IUtf8SpanParsable<System::UInt16>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Die Spanne von UTF-8 Zeichen, die analysiert werden sollen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu utf8Text.
- result
- UInt16
Enthält das Ergebnis einer erfolgreichen Analyse oder eines nicht definierten Werts utf8Text für fehler.
Gibt zurück
truewenn utf8Text erfolgreich analysiert wurde; andernfalls . false
Gilt für:
TryParse(ReadOnlySpan<Char>, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
Wichtig
Diese API ist nicht CLS-kompatibel.
Versucht, die Spandarstellung einer Zahl in die 16-Bit-ganzzahlige Äquivalente der 16-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::UInt16 % result);
public static bool TryParse(ReadOnlySpan<char> s, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, out ushort result);
static member TryParse : ReadOnlySpan<char> * uint16 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * uint16 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As UShort) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Eine Spanne mit den Zeichen, die die zu konvertierende Zahl darstellen.
- result
- UInt16
Wenn diese Methode zurückgegeben wird, enthält sie den ganzzahligen 16-Bit-Wert ohne Vorzeichen, der der in s, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter oder der Parameter nullEmptynicht im richtigen Format ist. oder stellt eine Zahl kleiner als UInt16.MinValue oder größer als UInt16.MaxValue dar. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich bereitgestellten result Werte werden überschrieben.
Gibt zurück
true wenn s erfolgreich konvertiert wurde; andernfalls false.
- Attribute
Gilt für:
TryParse(String, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
Wichtig
Diese API ist nicht CLS-kompatibel.
- CLS-kompatible Alternative
- System.Int32.TryParse(String, Int32)
Versucht, die Zeichenfolgendarstellung einer Zahl in die 16-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::UInt16 % result);
[System.CLSCompliant(false)]
public static bool TryParse(string s, out ushort result);
public static bool TryParse(string? s, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(string? s, out ushort result);
[<System.CLSCompliant(false)>]
static member TryParse : string * uint16 -> bool
static member TryParse : string * uint16 -> bool
Public Shared Function TryParse (s As String, ByRef result As UShort) As Boolean
Parameter
- s
- String
Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.
- result
- UInt16
Wenn diese Methode zurückgegeben wird, enthält sie den ganzzahligen 16-Bit-Wert ohne Vorzeichen, der der in s, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter nicht das richtige Format aufweist null oder Emptyeine Zahl kleiner als UInt16.MinValue oder größer als UInt16.MaxValue darstellt. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich bereitgestellten result Werte werden überschrieben.
Gibt zurück
true wenn s erfolgreich konvertiert wurde; andernfalls false.
- Attribute
Beispiele
Im folgenden Beispiel wird die TryParse(String, UInt16) 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(String, UInt16) 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 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][Zeichen]Ziffern[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle werden die einzelnen Elemente beschrieben.
| Element | Beschreibung |
|---|---|
| Ws | Optionaler Leerraum. |
| Zeichen | Ein optionales Zeichen. Gültige Zeichenzeichen werden durch die NumberFormatInfo.NegativeSign Eigenschaften NumberFormatInfo.PositiveSign der aktuellen Kultur bestimmt. |
| Ziffern | Eine Sequenz von Dezimalziffern zwischen 0 und 9. |
Anmerkung
Die durch den s Parameter angegebene Zeichenfolge darf keine Gruppentrennzeichen oder Dezimaltrennzeichen enthalten, und es kann kein Dezimalteil vorhanden sein.
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. Rufen Sie die Methode aufs, um die Formatelemente explizit mit den kulturspezifischen Formatierungsinformationen zu definieren, die TryParse(String, NumberStyles, IFormatProvider, UInt16)vorhanden sein können.
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 Dezimalziffern. Rufen Sie stattdessen die TryParse(String, NumberStyles, IFormatProvider, UInt16) Überladung auf, um die Zeichenfolgendarstellung einer Hexadezimalzahl zu analysieren.
Weitere Informationen
- Parse(String)
- ToString()
- Analysieren numerischer Zeichenfolgen in .NET
- Beispiel: .NET Core WinForms Formatting Utility (C#)
- Beispiel: .NET Core WinForms Formatting Utility (Visual Basic)
Gilt für:
TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result) = ISpanParsable<System::UInt16>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Die Spanne der zu analysierenden Zeichen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- UInt16
Wenn diese Methode zurückgegeben wird, enthält das Ergebnis der erfolgreichen Analyse oder eines nicht definierten Werts sfür fehler.
Gibt zurück
truewenn s erfolgreich analysiert wurde; andernfalls . false
Gilt für:
TryParse(String, IFormatProvider, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
Versucht, eine Zeichenfolge in einen Wert zu analysieren.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result) = IParsable<System::UInt16>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out ushort result);
static member TryParse : string * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameter
- s
- String
Die zu analysierende Zeichenfolge.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- UInt16
Wenn diese Methode zurückgegeben wird, enthält das Ergebnis einer erfolgreichen Analyse oder eines nicht definierten Werts s für fehler.
Gibt zurück
truewenn s erfolgreich analysiert wurde; andernfalls . false
Gilt für:
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.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::UInt16 % result) = System::Numerics::INumberBase<System::UInt16>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Die Spanne von UTF-8 Zeichen, die analysiert werden sollen.
- style
- NumberStyles
Eine bitweise Kombination aus Zahlenformatvorlagen, die vorhanden utf8Textsein können.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu utf8Text.
- result
- UInt16
Enthält das Ergebnis einer erfolgreichen Analyse oder eines nicht definierten Werts utf8Text für fehler.
Gibt zurück
truewenn utf8Text erfolgreich analysiert wurde; andernfalls . false
Gilt für:
TryParse(ReadOnlySpan<Byte>, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
Versucht, einen UTF-8-Zeichenbereich zu konvertieren, der die Zeichenfolgendarstellung einer Zahl in seine 16-Bit-ganzzahlige Entsprechung ohne Vorzeichen enthält.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::UInt16 % result);
public static bool TryParse(ReadOnlySpan<byte> utf8Text, out ushort result);
static member TryParse : ReadOnlySpan<byte> * uint16 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As UShort) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Eine Spanne mit den UTF-8-Zeichen, die die zu konvertierende Zahl darstellen.
- result
- UInt16
Wenn diese Methode zurückgegeben wird, enthält sie den 16-Bit-Ganzzahlwert ohne Vorzeichen, der der Zahl entspricht, die enthalten utf8Text ist, 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, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
Wichtig
Diese API ist nicht CLS-kompatibel.
Versucht, die Spandarstellung einer Zahl in einem angegebenen Format und kulturspezifischen Format in das 16-Bit-Ganzzahläquivalent 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::UInt16 % result) = System::Numerics::INumberBase<System::UInt16>::TryParse;
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Eine Spanne mit den Zeichen, die die zu konvertierende Zahl darstellen. Die Spanne wird mithilfe der durch den style Parameter angegebenen Formatvorlage interpretiert.
- style
- NumberStyles
Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von s. Ein typischer Wert, der angegeben werden soll, ist Integer.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- UInt16
Wenn diese Methode zurückgegeben wird, enthält sie den 16-Bit-Ganzzahlwert ohne Vorzeichen, der der in s, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter nullEmptynicht in einem formatkonform ist styleoder eine Zahl kleiner als UInt16.MinValue oder größer als UInt16.MaxValue darstellt. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich bereitgestellten result Werte werden überschrieben.
Gibt zurück
true wenn s erfolgreich konvertiert wurde; andernfalls false.
- Attribute
Gilt für:
TryParse(String, NumberStyles, IFormatProvider, UInt16)
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
- Quelle:
- UInt16.cs
Wichtig
Diese API ist nicht CLS-kompatibel.
- CLS-kompatible Alternative
- System.Int32.TryParse(String, Int32)
Versucht, die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in das 16-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::UInt16 % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result) = System::Numerics::INumberBase<System::UInt16>::TryParse;
[System.CLSCompliant(false)]
public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out ushort result);
public static bool TryParse(string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
[<System.CLSCompliant(false)>]
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameter
- s
- String
Eine Zeichenfolge, die die zu konvertierende Zahl darstellt. Die Zeichenfolge wird mithilfe der vom style Parameter angegebenen Formatvorlage interpretiert.
- style
- NumberStyles
Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von s. Ein typischer Wert, der angegeben werden soll, ist Integer.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- UInt16
Wenn diese Methode zurückgegeben wird, enthält sie den 16-Bit-Ganzzahlwert ohne Vorzeichen, der der in s, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter nullEmptynicht in einem formatkonform ist styleoder eine Zahl kleiner als UInt16.MinValue oder größer als UInt16.MaxValue darstellt. Dieser Parameter wird nicht initialisiert übergeben. alle ursprünglich bereitgestellten result 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 von AllowHexSpecifier und HexNumber Werten.
Beispiele
Im folgenden Beispiel wird die TryParse(String, NumberStyles, IFormatProvider, UInt16) 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 = "10603";
styles = NumberStyles.Integer;
CallTryParse(numericString, styles);
numericString = "-10603";
styles = NumberStyles.None;
CallTryParse(numericString, styles);
numericString = "29103.00";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "10345.72";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "2210E-01";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(numericString, styles);
numericString = "9112E-01";
CallTryParse(numericString, styles);
numericString = "312E01";
CallTryParse(numericString, styles);
numericString = "FFC8";
CallTryParse(numericString, NumberStyles.HexNumber);
numericString = "0x8F8C";
CallTryParse(numericString, NumberStyles.HexNumber);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
ushort number;
bool result = UInt16.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 '10603' to 10603.
// Attempted conversion of '-10603' failed.
// Converted '29103.00' to 29103.
// Attempted conversion of '10345.72' failed.
// Converted '2210E-01' to 221.
// Attempted conversion of '9112E-01' failed.
// Converted '312E01' to 3120.
// Converted 'FFC8' to 65480.
// Attempted conversion of '0x8F8C' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) (styles: NumberStyles) =
match UInt16.TryParse(stringToConvert, styles, CultureInfo.InvariantCulture) with
| true, number ->
printfn $"Converted '{stringToConvert}' to {number}."
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
do
let numericString = "10603"
let styles = NumberStyles.Integer
callTryParse numericString styles
let numericString = "-10603"
let styles = NumberStyles.None
callTryParse numericString styles
let numericString = "29103.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 = "2210E-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 = "FFC8"
callTryParse numericString NumberStyles.HexNumber
let numericString = "0x8F8C"
callTryParse numericString NumberStyles.HexNumber
// The example displays the following output:
// Converted '10603' to 10603.
// Attempted conversion of '-10603' failed.
// Converted '29103.00' to 29103.
// Attempted conversion of '10345.72' failed.
// Converted '2210E-01' to 221.
// Attempted conversion of '9112E-01' failed.
// Converted '312E01' to 3120.
// Converted 'FFC8' to 65480.
// Attempted conversion of '0x8F8C' failed.
Imports System.Globalization
Module Example
Public Sub Main()
Dim numericString As String
Dim styles As NumberStyles
numericString = "10603"
styles = NumberStyles.Integer
CallTryParse(numericString, styles)
numericString = "-10603"
styles = NumberStyles.None
CallTryParse(numericString, styles)
numericString = "29103.00"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "10345.72"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "2210E-01"
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(numericString, styles)
numericString = "9112E-01"
CallTryParse(numericString, styles)
numericString = "312E01"
CallTryParse(numericString, styles)
numericString = "FFC8"
CallTryParse(numericString, NumberStyles.HexNumber)
numericString = "0x8F8C"
CallTryParse(numericString, NumberStyles.HexNumber)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
Dim number As UShort
Dim result As Boolean = UInt16.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 '10603' to 10603.
' Attempted conversion of '-10603' failed.
' Converted '29103.00' to 29103.
' Attempted conversion of '10345.72' failed.
' Converted '2210E-01' to 221.
' Attempted conversion of '9112E-01' failed.
' Converted '312E01' to 3120.
' Converted 'FFC8' to 65480.
' Attempted conversion of '0x8F8C' failed.
Hinweise
Die TryParse(String, NumberStyles, IFormatProvider, UInt16) 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 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 Vorzeichen), die im s Parameter zulässig sind, damit der Analysevorgang erfolgreich ausgeführt werden kann. Es muss eine Kombination aus Bitkennzeichnungen aus der NumberStyles Enumeration sein. Je nach Wert kann styleder s Parameter die folgenden Elemente enthalten:
[ws][][$Vorzeichen][Ziffern;]Ziffern[.fractional_digits][E[Zeichen]exponential_digits][ws]
Elemente in eckigen Klammern ([ und ]) sind optional. Oder, wenn der style Parameter enthält AllowHexSpecifier, kann der s Parameter die folgenden Elemente enthalten:
[ws]hexdigits[ws]
In der folgenden Tabelle werden die einzelnen Elemente beschrieben.
Ws Optionaler Leerraum. Leerzeichen können am Anfang s angezeigt werden, wenn style die NumberStyles.AllowLeadingWhite Kennzeichnung enthalten ist, oder am Ende, s wenn style die NumberStyles.AllowTrailingWhite Kennzeichnung enthalten ist.
$ Ein kulturspezifisches Währungssymbol. Die 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 angezeigt werden, wenn s das style Kennzeichen enthalten NumberStyles.AllowCurrencySymbol ist.
Zeichen Ein optionales Zeichen. Das Zeichen kann am Anfang angezeigt s werden, wenn style das NumberStyles.AllowLeadingSign Kennzeichen enthalten ist, und es kann am Ende der s Kennzeichnung angezeigt werden, wenn style die NumberStyles.AllowTrailingSign Kennzeichnung enthalten ist. Klammern können verwendet s werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses Flag enthalten ist. Wenn das negative Vorzeichen vorhanden ist, s kann jedoch nur der Wert Null für den erfolgreichen Analysevorgang dargestellt werden.
Ziffern Eine Sequenz von Ziffern von 0 bis 9.
, Ein kulturspezifisches Gruppentrennzeichen. Das Gruppentrennzeichen der durch sie angegebenen provider Kultur kann angezeigt werden s , wenn style die NumberStyles.AllowThousands Kennzeichnung enthalten ist.
.
Ein kulturspezifisches Dezimalkommasymbol. Das Dezimalkommasymbol der durch diese Kultur angegebenen provider Kultur kann angezeigt werden s , wenn style die NumberStyles.AllowDecimalPoint Kennzeichnung enthalten ist.
fractional_digits Mindestens ein Vorkommen der Ziffer 0. Dezimalstellen können nur angezeigt werden s , wenn style die NumberStyles.AllowDecimalPoint Kennzeichnung enthalten ist.
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 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 Abfolge von hexadezimalen Ziffern von 0 bis f oder 0 bis F.
Anmerkung
Alle endenden NUL-Zeichen s (U+0000) werden unabhängig vom Wert des style Arguments vom Analysevorgang ignoriert.
Eine Zeichenfolge mit dezimalen Ziffern (die der NumberStyles.None Kennzeichnung 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 möglicherweise svorhanden sind.
Nicht zusammengesetzte NumberStyles Werte |
Elemente, die zusätzlich zu Ziffern im Wert zulässig sind |
|---|---|
| None | Nur Dezimalziffern. |
| AllowDecimalPoint | Die Dezimalkomma (.) 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 exponentielle Notation angibt, zusammen mit exponential_digits. Wenn s eine Zahl in exponentieller Schreibweise dargestellt wird, kann sie keine Nicht-Null-Bruchkomponente aufweisen. |
| AllowLeadingWhite | Das ws-Element am Anfang von s. |
| AllowTrailingWhite | Das ws-Element am Ende von s. |
| AllowLeadingSign | Das Zeichenelement vor Ziffern. |
| AllowTrailingSign | Das Zeichenelement nach Ziffern. |
| AllowParentheses | Das Zeichenelement in Form von Klammern, die einen numerischen Nullwert einschließen. |
| AllowThousands | Das Gruppentrennzeichen (,) -Element. |
| AllowCurrencySymbol | Das Währungselement ($) |
| Currency | Alle Elemente.
s Eine hexadezimale Zahl oder eine Zahl in exponentieller Schreibweise kann jedoch nicht dargestellt werden. |
| Float | Das ws-Element am Anfang oder Ende von s, Zeichen am Anfang von s, und das Dezimalkomma (.) Symbol. Der s Parameter kann auch exponentielle Notation verwenden. |
| Number | Die Elemente ws, Zeichen, Gruppentrennzeichen (,) und Dezimalkomma (.). |
| 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. Gültige Hexadezimalziffern sind 0 bis 9, a bis f und A bis F. Ein Präfix wie "0x" wird nicht unterstützt und bewirkt, dass der Analysevorgang fehlschlägt. Die einzigen anderen Flags, die style vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Aufzählung weist eine zusammengesetzte Formatvorlage auf, HexNumberdie beide Leerzeichen enthält.)
Anmerkung
Wenn s es sich um die Zeichenfolgendarstellung einer hexadezimalen Zahl handelt, kann 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 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 Umsetzung GetFormat von nur zurückgibt.)
Ein benutzerdefiniertes IFormatProviderObjekt, das implementiert wird. Die GetFormat Methode instanziiert und gibt das Objekt zurück, das NumberFormatInfo Formatierungsinformationen bereitstellt.
Wenn provider ja null, wird das NumberFormatInfo Objekt für die aktuelle Kultur verwendet.