Byte.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 Byte entsprechende Zahl zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
Überlädt
| Name | Beschreibung |
|---|---|
| TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte) |
Versucht, eine Spanne von UTF-8 Zeichen in einen Wert zu analysieren. |
| TryParse(ReadOnlySpan<Char>, Byte) |
Versucht, die Spannweitendarstellung einer Zahl in ihr Byte Äquivalent zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(String, Byte) |
Versucht, die Zeichenfolgendarstellung einer Zahl in die Byte entsprechende Zahl zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte) |
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren. |
| TryParse(String, IFormatProvider, Byte) |
Versucht, eine Zeichenfolge in einen Wert zu analysieren. |
| TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Byte) |
Versucht, eine Spanne von UTF-8 Zeichen in einen Wert zu analysieren. |
| TryParse(ReadOnlySpan<Byte>, Byte) |
Versucht, einen UTF-8-Zeichenbereich zu konvertieren, der die Zeichenfolgendarstellung einer Zahl in seine 8-Bit-ganzzahlige Entsprechung ohne Vorzeichen enthält. |
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte) |
Konvertiert die Spandarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in das Byte entsprechende Format. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist. |
| TryParse(String, NumberStyles, IFormatProvider, Byte) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in das Byte entsprechende Format. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.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::Byte % result) = IUtf8SpanParsable<System::Byte>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As Byte) 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
- Byte
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>, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
Versucht, die Spannweitendarstellung einer Zahl in ihr Byte Äquivalent zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse(ReadOnlySpan<char> s, out byte result);
static member TryParse : ReadOnlySpan<char> * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Byte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Eine Spanne mit den Zeichen, die die zu konvertierende Zahl darstellen.
- result
- Byte
Wenn diese Methode zurückgegeben wird, enthält sie den Byte Wert, der der Zahl entspricht, die enthalten s ist, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. 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.
Gilt für:
TryParse(String, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
Versucht, die Zeichenfolgendarstellung einer Zahl in die Byte entsprechende Zahl zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse(string s, out byte result);
public static bool TryParse(string? s, out byte result);
static member TryParse : string * byte -> bool
Public Shared Function TryParse (s As String, ByRef result As Byte) As Boolean
Parameter
- s
- String
Eine Zeichenfolge, die eine zahl enthält, die konvertiert werden soll.
- result
- Byte
Wenn diese Methode zurückgegeben wird, enthält sie den Byte Wert, der der Zahl entspricht, die enthalten s ist, wenn die Konvertierung erfolgreich war, oder null, wenn die Konvertierung fehlgeschlagen ist. 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.
Beispiele
Im folgenden Beispiel wird die TryParse(String, Byte) Methode mit einer Reihe unterschiedlicher Zeichenfolgenwerte aufgerufen.
using System;
public class ByteConversion
{
public static void Main()
{
string[] byteStrings = { null, string.Empty, "1024",
"100.1", "100", "+100", "-100",
"000000000000000100", "00,100",
" 20 ", "FF", "0x1F" };
foreach (var byteString in byteStrings)
{
CallTryParse(byteString);
}
}
private static void CallTryParse(string stringToConvert)
{
byte byteValue;
bool success = Byte.TryParse(stringToConvert, out byteValue);
if (success)
{
Console.WriteLine("Converted '{0}' to {1}",
stringToConvert, byteValue);
}
else
{
Console.WriteLine("Attempted conversion of '{0}' failed.",
stringToConvert);
}
}
}
// The example displays the following output to the console:
// Attempted conversion of '' failed.
// Attempted conversion of '' failed.
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Attempted conversion of '00,100' failed.
// Converted ' 20 ' to 20
// Attempted conversion of 'FF' failed.
// Attempted conversion of '0x1F' failed.
open System
let callTryParse (stringToConvert: string) =
match Byte.TryParse stringToConvert with
| true, byteValue ->
printfn $"Converted '{stringToConvert}' to {byteValue}"
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
let byteStrings =
[ null; String.Empty; "1024"
"100.1"; "100"; "+100"; "-100"
"000000000000000100"; "00,100"
" 20 "; "FF"; "0x1F" ]
for byteString in byteStrings do
callTryParse byteString
// The example displays the following output to the console:
// Attempted conversion of '' failed.
// Attempted conversion of '' failed.
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Attempted conversion of '00,100' failed.
// Converted ' 20 ' to 20
// Attempted conversion of 'FF' failed.
// Attempted conversion of '0x1F' failed.
Module ByteConversion
Public Sub Main()
Dim byteStrings() As String = { Nothing, String.Empty, "1024",
"100.1", "100", "+100", "-100",
"000000000000000100", "00,100",
" 20 ", "FF", "0x1F"}
For Each byteString As String In byteStrings
CallTryParse(byteString)
Next
End Sub
Private Sub CallTryParse(stringToConvert As String)
Dim byteValue As Byte
Dim success As Boolean = Byte.TryParse(stringToConvert, byteValue)
If success Then
Console.WriteLine("Converted '{0}' to {1}", _
stringToConvert, byteValue)
Else
Console.WriteLine("Attempted conversion of '{0}' failed.", _
stringToConvert)
End If
End Sub
End Module
' The example displays the following output to the console:
' Attempted conversion of '' failed.
' Attempted conversion of '' failed.
' Attempted conversion of '1024' failed.
' Attempted conversion of '100.1' failed.
' Converted '100' to 100
' Converted '+100' to 100
' Attempted conversion of '-100' failed.
' Converted '000000000000000100' to 100
' Attempted conversion of '00,100' failed.
' Converted ' 20 ' to 20
' Attempted conversion of 'FF' failed.
' Attempted conversion of '0x1F' failed.
Hinweise
Die Konvertierung schlägt fehl, und die Methode gibt zurück false , wenn sich der s Parameter nicht im richtigen Format befindet, wenn er null oder String.Empty, oder wenn er eine Zahl kleiner MinValue oder größer als MaxValuedarstellt.
Die Byte.TryParse(String, Byte) Methode ähnelt der Byte.Parse(String) Methode, mit der Ausnahme, dass TryParse(String, Byte) keine Ausnahme ausgelöst wird, wenn die Konvertierung fehlschlägt.
Der s Parameter sollte die Zeichenfolgendarstellung einer Zahl 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. |
| Zeichen | Ein optionales positives Zeichen, wie durch die NumberFormatInfo.PositiveSign Eigenschaft der aktuellen Kultur angegeben. |
| Ziffern | Eine Abfolge von Dezimalziffern, die zwischen 0 und 9 liegen. |
Der s Parameter wird mithilfe der Integer Formatvorlage interpretiert. Neben den Dezimalstellen des Bytewerts sind nur führende und nachfolgende Leerzeichen zusammen mit einem vorangestellten Zeichen zulässig. (Wenn das Zeichen vorhanden ist, muss es ein positives Zeichen sein, oder die Methode löst ein OverflowException.) Wenn Sie die Formatvorlagenelemente explizit zusammen mit den kulturspezifischen Formatierungsinformationen definieren möchten, die vorhanden ssein können, verwenden Sie die Byte.Parse(String, NumberStyles, IFormatProvider) Methode.
Der s Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo Objekt für die aktuelle Kultur analysiert. Weitere Informationen finden Sie unter NumberFormatInfo.CurrentInfo.
Diese Überladung der Byte.TryParse(String, Byte) Methode interpretiert alle Ziffern im s Parameter als Dezimalziffern. Rufen Sie die Überladung auf Byte.TryParse(String, NumberStyles, IFormatProvider, Byte) , um die Zeichenfolgendarstellung einer Hexadezimalzahl zu analysieren.
Weitere Informationen
- Beispiel: .NET Core WinForms Formatting Utility (C#)
- Beispiel: .NET Core WinForms Formatting Utility (Visual Basic)
Gilt für:
TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = ISpanParsable<System::Byte>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Die Spanne der zu analysierenden Zeichen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- Byte
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, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
Versucht, eine Zeichenfolge in einen Wert zu analysieren.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = IParsable<System::Byte>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out byte result);
static member TryParse : string * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- s
- String
Die zu analysierende Zeichenfolge.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- Byte
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, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.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::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) 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
- Byte
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>, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
Versucht, einen UTF-8-Zeichenbereich zu konvertieren, der die Zeichenfolgendarstellung einer Zahl in seine 8-Bit-ganzzahlige Entsprechung ohne Vorzeichen enthält.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse(ReadOnlySpan<byte> utf8Text, out byte result);
static member TryParse : ReadOnlySpan<byte> * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As Byte) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Eine Spanne mit den UTF-8-Zeichen, die die zu konvertierende Zahl darstellen.
- result
- Byte
Wenn diese Methode zurückgegeben wird, enthält sie den 8-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, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
Konvertiert die Spandarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in das Byte entsprechende Format. 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::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out byte result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Eine Spanne mit den Zeichen, die die zu konvertierende Zahl darstellen. Die Spanne wird mithilfe der Integer Formatvorlage interpretiert.
- style
- NumberStyles
Eine bitweise Kombination von Enumerationswerten, die die Formatvorlagenelemente angibt, in sdenen vorhanden sein kann. Ein typischer Wert, der angegeben werden soll, ist Integer.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s. Ist provider dies nullder Grund, wird die aktuelle Threadkultur verwendet.
- result
- Byte
Wenn diese Methode zurückgegeben wird, enthält sie den 8-Bit-Ganzzahlwert ohne Vorzeichen, der der Zahl entspricht, die enthalten s ist, 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 Byte.MinValue oder größer als Byte.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.
Gilt für:
TryParse(String, NumberStyles, IFormatProvider, Byte)
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
- Quelle:
- Byte.cs
Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in das Byte entsprechende Format. 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::Byte % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out byte result);
public static bool TryParse(string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- s
- String
Eine Zeichenfolge, die eine zahl enthält, die konvertiert werden soll. Die Zeichenfolge wird mithilfe der durch style.
- style
- NumberStyles
Eine bitweise Kombination von Enumerationswerten, die die Formatvorlagenelemente angibt, in sdenen vorhanden sein kann. Ein typischer Wert, der angegeben werden soll, ist Integer.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s. Ist provider dies nullder Grund, wird die aktuelle Threadkultur verwendet.
- result
- Byte
Wenn diese Methode zurückgegeben wird, enthält sie den 8-Bit-Ganzzahlwert ohne Vorzeichen, der der Zahl entspricht, die enthalten s ist, 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 Byte.MinValue oder größer als Byte.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.
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, Byte) Methode mit einer Reihe unterschiedlicher Zeichenfolgenwerte aufgerufen.
using System;
using System.Globalization;
public class ByteConversion2
{
public static void Main()
{
string byteString;
NumberStyles styles;
byteString = "1024";
styles = NumberStyles.Integer;
CallTryParse(byteString, styles);
byteString = "100.1";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(byteString, styles);
byteString = "100.0";
CallTryParse(byteString, styles);
byteString = "+100";
styles = NumberStyles.Integer | NumberStyles.AllowLeadingSign
| NumberStyles.AllowTrailingSign;
CallTryParse(byteString, styles);
byteString = "-100";
CallTryParse(byteString, styles);
byteString = "000000000000000100";
CallTryParse(byteString, styles);
byteString = "00,100";
styles = NumberStyles.Integer | NumberStyles.AllowThousands;
CallTryParse(byteString, styles);
byteString = "2E+3 ";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(byteString, styles);
byteString = "FF";
styles = NumberStyles.HexNumber;
CallTryParse(byteString, styles);
byteString = "0x1F";
CallTryParse(byteString, styles);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
Byte byteValue;
bool result = Byte.TryParse(stringToConvert, styles,
null as IFormatProvider, out byteValue);
if (result)
Console.WriteLine("Converted '{0}' to {1}",
stringToConvert, byteValue);
else
Console.WriteLine("Attempted conversion of '{0}' failed.",
stringToConvert.ToString());
}
}
// The example displays the following output to the console:
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100.0' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Converted '00,100' to 100
// Attempted conversion of '2E+3 ' failed.
// Converted 'FF' to 255
// Attempted conversion of '0x1F' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) (styles: NumberStyles) =
match Byte.TryParse(stringToConvert, styles, null) with
| true, byteValue ->
printfn $"Converted '{stringToConvert}' to {byteValue}"
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
[<EntryPoint>]
let main _ =
let byteString = "1024"
let styles = NumberStyles.Integer
callTryParse byteString styles
let byteString = "100.1"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse byteString styles
let byteString = "100.0"
callTryParse byteString styles
let byteString = "+100"
let styles = NumberStyles.Integer ||| NumberStyles.AllowLeadingSign ||| NumberStyles.AllowTrailingSign
callTryParse byteString styles
let byteString = "-100"
callTryParse byteString styles
let byteString = "000000000000000100"
callTryParse byteString styles
let byteString = "00,100"
let styles = NumberStyles.Integer ||| NumberStyles.AllowThousands
callTryParse byteString styles
let byteString = "2E+3 "
let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
callTryParse byteString styles
let byteString = "FF"
let styles = NumberStyles.HexNumber
callTryParse byteString styles
let byteString = "0x1F"
callTryParse byteString styles
0
// The example displays the following output to the console:
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100.0' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Converted '00,100' to 100
// Attempted conversion of '2E+3 ' failed.
// Converted 'FF' to 255
// Attempted conversion of '0x1F' failed.
Imports System.Globalization
Module ByteConversion2
Public Sub Main()
Dim byteString As String
Dim styles As NumberStyles
byteString = "1024"
styles = NumberStyles.Integer
CallTryParse(byteString, styles)
byteString = "100.1"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(byteString, styles)
byteString = "100.0"
CallTryParse(byteString, styles)
byteString = "+100"
styles = NumberStyles.Integer Or NumberStyles.AllowLeadingSign _
Or NumberStyles.AllowTrailingSign
CallTryParse(byteString, styles)
byteString = "-100"
CallTryParse(byteString, styles)
byteString = "000000000000000100"
CallTryParse(byteString, styles)
byteString = "00,100"
styles = NumberStyles.Integer Or NumberStyles.AllowThousands
CallTryParse(byteString, styles)
byteString = "2E+3 "
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(byteString, styles)
byteString = "FF"
styles = NumberStyles.HexNumber
CallTryParse(byteString, styles)
byteString = "0x1F"
CallTryParse(byteString, styles)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles As NumberStyles)
Dim byteValue As Byte
Dim result As Boolean = Byte.TryParse(stringToConvert, styles, Nothing, _
byteValue)
If result Then
Console.WriteLine("Converted '{0}' to {1}", _
stringToConvert, byteValue)
Else
If stringToConvert Is Nothing Then stringToConvert = ""
Console.WriteLine("Attempted conversion of '{0}' failed.", _
stringToConvert.ToString())
End If
End Sub
End Module
' The example displays the following output to the console:
' Attempted conversion of '1024' failed.
' Attempted conversion of '100.1' failed.
' Converted '100.0' to 100
' Converted '+100' to 100
' Attempted conversion of '-100' failed.
' Converted '000000000000000100' to 100
' Converted '00,100' to 100
' Attempted conversion of '2E+3 ' failed.
' Converted 'FF' to 255
' Attempted conversion of '0x1F' failed.
Hinweise
Die TryParse Methode ähnelt der Parse Methode, außer die TryParse Methode löst keine Ausnahme aus, wenn die Konvertierung fehlschlägt.
Der s Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo objekt analysiert, das provider vom Parameter bereitgestellt wird.
Der Formatvorlagenparameter definiert die Formatvorlagenelemente (z. B. Leerzeichen oder das positive Zeichen), die im s Parameter für den erfolgreichen Analysevorgang zulässig sind. Es muss eine Kombination aus Bitkennzeichnungen aus der NumberStyles Enumeration sein. Je nach Wert kann styleder s Parameter die folgenden Elemente enthalten:
[ws][$][Sign]digits[.fractional_digits][e[sign]digits][ws]
Oder, wenn der style Parameter Folgendes enthält AllowHexSpecifier:
[ws]hexdigits[ws]
Elemente in eckigen Klammern ( [ und ] ) sind optional. In der folgenden Tabelle wird jedes Element beschrieben.
| Element | Beschreibung |
|---|---|
| Ws | Optionaler Leerraum. Leerzeichen können am Anfang der sstyleNumberStyles.AllowLeadingWhite Kennzeichnung oder am Ende von s angezeigt werden, wenn die Formatvorlage die NumberStyles.AllowTrailingWhite Kennzeichnung enthält. |
| $ | Ein kulturspezifisches Währungssymbol. Die Position in der Zeichenfolge wird durch die NumberFormatInfo.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 positives Zeichen. (Der Analysevorgang schlägt fehl, wenn ein negatives Zeichen in s.) Das Zeichen kann am Anfang des s Zeichens angezeigt werden, wenn style die NumberStyles.AllowLeadingSign Kennzeichnung enthalten ist, oder am Ende, s wenn style die NumberStyles.AllowTrailingSign Kennzeichnung enthalten ist. |
| Ziffern | Eine Sequenz von Ziffern von 0 bis 9. |
| . | 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 E- oder E-Zeichen, das angibt, dass der Wert in exponentieller Schreibweise dargestellt wird. 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. |
Hinweis
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 Formatvorlage entspricht) analysiert immer erfolgreich. Die meisten der verbleibenden NumberStyles Elemente steuern Elemente, die möglicherweise vorhanden, aber nicht in dieser Eingabezeichenfolge vorhanden sein müssen. 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 in s zulässig sind |
|---|---|
| NumberStyles.None | Nur Dezimalziffern. |
| NumberStyles.AllowDecimalPoint | Die Elemente . und fractional_digits .
Fractional_digits darf jedoch nur aus einer oder mehreren 0 Ziffern bestehen, oder die Methode gibt zurückfalse. |
| NumberStyles.AllowExponent | Der s Parameter kann auch exponentielle Notation verwenden. Wenn s eine Zahl in exponentieller Schreibweise dargestellt wird, muss sie eine ganze Zahl innerhalb des Bereichs des Byte Datentyps ohne eine Nicht-Null-Bruchkomponente darstellen. |
| NumberStyles.AllowLeadingWhite | Das ws-Element am Anfang von s. |
| NumberStyles.AllowTrailingWhite | Das ws-Element am Ende von s. |
| NumberStyles.AllowLeadingSign | Ein positives Zeichen kann vor Ziffern angezeigt werden. |
| NumberStyles.AllowTrailingSign | Ein positives Zeichen kann nach Ziffern angezeigt werden. |
| NumberStyles.AllowParentheses | Obwohl dieses Flag unterstützt wird, gibt die Methode zurück false , wenn Klammern vorhanden ssind. |
| NumberStyles.AllowThousands | Obwohl das Gruppentrennzeichen in sangezeigt werden kann, kann es nur einer oder mehreren Ziffern vorangestellt werden. |
| NumberStyles.AllowCurrencySymbol | Das $ Element. |
Wenn das NumberStyles.AllowHexSpecifier Flag verwendet wird, s muss es sich um einen Hexadezimalwert ohne Präfix sein. Beispielsweise analysiert "F3" erfolgreich, aber "0xF3" nicht. Die einzigen anderen Flags, die style vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Aufzählung weist eine zusammengesetzte Zahlenformatvorlage auf, NumberStyles.HexNumberdie beide Leerzeichen-Flags enthält.)
Der provider Parameter ist eine IFormatProvider Implementierung, z. B. ein CultureInfo Objekt oder ein NumberFormatInfo Objekt, dessen GetFormat Methode ein NumberFormatInfo Objekt zurückgibt. Das NumberFormatInfo Objekt stellt kulturspezifische Informationen zum Format von s.
Weitere Informationen
- ToString()
- MaxValue
- MinValue
- NumberStyles
- NumberFormatInfo
- IFormatProvider
- Analysieren numerischer Zeichenfolgen in .NET