SByte.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 entsprechende 8-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabecode gibt an, ob die Konvertierung erfolgreich war oder nicht.
Überlädt
TryParse(String, IFormatProvider, SByte) |
Versucht, eine Zeichenfolge in einen Wert zu analysieren. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, SByte) |
Versucht, eine Spanne von Zeichen in einen Wert zu analysieren. |
TryParse(String, SByte) |
Versucht, die Zeichenfolgendarstellung einer Zahl in deren SByte-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde. |
TryParse(ReadOnlySpan<Char>, SByte) |
Versucht, die Spannendarstellung einer Zahl in deren SByte-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde. |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, SByte) |
Konvertiert die Spannendarstellung einer Zahl in einem angegebenen Stil und kulturspezifischen Format in das entsprechende SByte und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. |
TryParse(String, NumberStyles, IFormatProvider, SByte) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und kulturspezifischen Format in das entsprechende SByte und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. |
TryParse(String, IFormatProvider, SByte)
Versucht, eine Zeichenfolge in einen Wert zu analysieren.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = IParsable<System::SByte>::TryParse;
public static bool TryParse (string? s, IFormatProvider? provider, out sbyte result);
static member TryParse : string * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As SByte) As Boolean
Parameter
- s
- String
Die zu analysierende Zeichenfolge.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s
bereitstellt.
- result
- SByte
Wenn diese Methode zurückgibt, enthält das Ergebnis der erfolgreichen s
Analyse oder einen nicht definierten Wert bei Einem Fehler.
Gibt zurück
true
, wenn s
erfolgreich analysiert wurde, false
andernfalls .
Gilt für
TryParse(ReadOnlySpan<Char>, IFormatProvider, SByte)
Versucht, eine Spanne von Zeichen in einen Wert zu analysieren.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = ISpanParsable<System::SByte>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As SByte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Die Spanne der zu analysierenden Zeichen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s
bereitstellt.
- result
- SByte
Wenn diese Methode zurückgibt, enthält das Ergebnis der erfolgreichen s
Analyse oder einen undefinierten Wert bei Einem Fehler.
Gibt zurück
true
, wenn s
erfolgreich analysiert wurde, false
andernfalls .
Gilt für
TryParse(String, SByte)
Wichtig
Diese API ist nicht CLS-kompatibel.
Versucht, die Zeichenfolgendarstellung einer Zahl in deren SByte-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::SByte % result);
[System.CLSCompliant(false)]
public static bool TryParse (string s, out sbyte result);
public static bool TryParse (string? s, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (string? s, out sbyte result);
[<System.CLSCompliant(false)>]
static member TryParse : string * sbyte -> bool
static member TryParse : string * sbyte -> bool
Public Shared Function TryParse (s As String, ByRef result As SByte) As Boolean
Parameter
- s
- String
Eine Zeichenfolge, die eine zu konvertierende Zahl enthält.
- result
- SByte
Diese Methode gibt bei erfolgreicher Konvertierung den Wert der ganzen 8-Bit-Zahl 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 das richtige Format aufweist oder eine Zahl darstellt, die kleiner als SByte.MinValue oder größer als SByte.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 versucht, die Zeichenfolgen in einem Array durch Aufrufen der TryParse(String, SByte) -Methode in Werte zu SByte konvertieren.
string[] numericStrings = {"-3.6", "12.8", "+16.7", " 3 ", "(17)",
"-17", "+12", "18-", "987", "1,024", " 127 "};
sbyte number;
foreach (string numericString in numericStrings)
{
if (sbyte.TryParse(numericString, out number))
Console.WriteLine("Converted '{0}' to {1}.", numericString, number);
else
Console.WriteLine("Cannot convert '{0}' to an SByte.", numericString);
}
// The example displays the following output to the console:
// Cannot convert '-3.6' to an SByte.
// Cannot convert '12.8' to an SByte.
// Cannot convert '+16.7' to an SByte.
// Converted ' 3 ' to 3.
// Cannot convert '(17)' to an SByte.
// Converted '-17' to -17.
// Converted '+12' to 12.
// Cannot convert '18-' to an SByte.
// Cannot convert '987' to an SByte.
// Cannot convert '1,024' to an SByte.
// Converted ' 127 ' to 127.
open System
let numericStrings =
[| "-3.6"; "12.8"; "+16.7"; " 3 "; "(17)"
"-17"; "+12"; "18-"; "987"; "1,024"; " 127 " |]
for numericString in numericStrings do
match SByte.TryParse numericString with
| true, number ->
printfn $"Converted '{numericString}' to {number}."
| _ ->
printfn $"Cannot convert '{numericString}' to an SByte."
// The example displays the following output to the console:
// Cannot convert '-3.6' to an SByte.
// Cannot convert '12.8' to an SByte.
// Cannot convert '+16.7' to an SByte.
// Converted ' 3 ' to 3.
// Cannot convert '(17)' to an SByte.
// Converted '-17' to -17.
// Converted '+12' to 12.
// Cannot convert '18-' to an SByte.
// Cannot convert '987' to an SByte.
// Cannot convert '1,024' to an SByte.
// Converted ' 127 ' to 127.
Dim numericStrings() As String = {"-3.6", "12.8", "+16.7", " 3 ", _
"(17)", "-17", "+12", "18-", "987", _
"1,024", " 127 "}
Dim number As SByte
For Each numericString As String In numericStrings
If SByte.TryParse(numericString, number) Then
Console.WriteLine("Converted '{0}' to {1}.", numericString, number)
Else
Console.WriteLine("Cannot convert '{0}' to an SByte.", numericString)
End If
Next
' The example displays the following output to the console:
' Cannot convert '-3.6' to an SByte.
' Cannot convert '12.8' to an SByte.
' Cannot convert '+16.7' to an SByte.
' Converted ' 3 ' to 3.
' Cannot convert '(17)' to an SByte.
' Converted '-17' to -17.
' Converted '+12' to 12.
' Cannot convert '18-' to an SByte.
' Cannot convert '987' to an SByte.
' Cannot convert '1,024' to an SByte.
' Converted ' 127 ' to 127.
Hinweise
Die SByte.TryParse(String, SByte) -Methode ähnelt der -Methode, mit der SByte.Parse(String) 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 FormatException , ob value
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 Vorzeichen werden durch die NumberFormatInfo.NegativeSign Eigenschaften und NumberFormatInfo.PositiveSign der aktuellen Kultur bestimmt. |
Zahlen | Eine Sequenz von Dezimalstellen im Bereich von 0 bis 9. |
Hinweis
Die durch den value
-Parameter angegebene Zeichenfolge darf keine Gruppentrennzeichen oder Dezimaltrennzeichen enthalten und darf keinen Dezimalteil aufweisen.
Der s
Parameter wird mithilfe des Stils NumberStyles.Integer interpretiert. Zusätzlich zu den Dezimalstellen sind nur führende und nachfolgende Leerzeichen mit einem führenden Zeichen zulässig. Rufen Sie die -Methode auf, um die Stilelemente explizit mit den kulturspezifischen Formatierungsinformationen zu definieren, die TryParse(String, NumberStyles, IFormatProvider, SByte) in value
vorhanden sein können.
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 interpretiert alle Ziffern im value
Parameter als Dezimalstellen. Um die Zeichenfolgendarstellung einer Hexadezimalzahl zu analysieren, rufen Sie stattdessen die TryParse(String, NumberStyles, IFormatProvider, SByte) Überladung auf.
Weitere Informationen
- 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>, SByte)
Wichtig
Diese API ist nicht CLS-kompatibel.
Versucht, die Spannendarstellung einer Zahl in deren SByte-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::SByte % result);
public static bool TryParse (ReadOnlySpan<char> s, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, out sbyte result);
static member TryParse : ReadOnlySpan<char> * sbyte -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As SByte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Die Spanne mit den Zeichen, die die zu konvertierende Zahl darstellen.
- result
- SByte
Diese Methode gibt bei erfolgreicher Konvertierung den Wert der ganzen 8-Bit-Zahl 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 das richtige Format aufweist oder eine Zahl darstellt, die kleiner als SByte.MinValue oder größer als SByte.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(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, SByte)
Wichtig
Diese API ist nicht CLS-kompatibel.
Konvertiert die Spannendarstellung einer Zahl in einem angegebenen Stil und kulturspezifischen Format in das entsprechende SByte und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde.
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result);
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = System::Numerics::INumberBase<System::SByte>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As SByte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Eine Zeichenspanne, die die zu konvertierende Zahl darstellt
- 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
- SByte
Diese Methode gibt bei erfolgreicher Konvertierung den Wert der ganzen 8-Bit-Zahl 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 konform style
ist oder eine Zahl kleiner als SByte.MinValue oder größer als SByte.MaxValue darstellt. 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, SByte)
Wichtig
Diese API ist nicht CLS-kompatibel.
- CLS-kompatible Alternative
- System.Int16.TryParse(String, Int16)
Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und kulturspezifischen Format in das entsprechende SByte und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde.
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = System::Numerics::INumberBase<System::SByte>::TryParse;
[System.CLSCompliant(false)]
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out sbyte result);
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[<System.CLSCompliant(false)>]
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As SByte) As Boolean
Parameter
- s
- String
Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.
- 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
- SByte
Diese Methode gibt bei erfolgreicher Konvertierung den Wert der ganzen 8-Bit-Zahl 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 konform style
ist oder eine Zahl kleiner als SByte.MinValue oder größer als SByte.MaxValue darstellt. 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, SByte) -Methode mit verschiedenen Zeichenfolgen und NumberStyles Werten aufgerufen.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string numericString;
NumberStyles styles;
numericString = "106";
styles = NumberStyles.Integer;
CallTryParse(numericString, styles);
numericString = "-106";
styles = NumberStyles.None;
CallTryParse(numericString, styles);
numericString = "103.00";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "103.72";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "10E-01";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(numericString, styles);
numericString = "12E-01";
CallTryParse(numericString, styles);
numericString = "12E01";
CallTryParse(numericString, styles);
numericString = "C8";
CallTryParse(numericString, NumberStyles.HexNumber);
numericString = "0x8C";
CallTryParse(numericString, NumberStyles.HexNumber);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
sbyte number;
bool result = SByte.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 '106' to 106.
// Attempted conversion of '-106' failed.
// Converted '103.00' to 103.
// Attempted conversion of '103.72' failed.
// Converted '10E-01' to 1.
// Attempted conversion of '12E-01' failed.
// Converted '12E01' to 120.
// Converted 'C8' to -56.
// Attempted conversion of '0x8C' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) styles =
match SByte.TryParse(stringToConvert, styles, CultureInfo.InvariantCulture) with
| true, number ->
printfn $"Converted '{stringToConvert}' to {number}."
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
[<EntryPoint>]
let main _ =
let numericString = "106"
let styles = NumberStyles.Integer
callTryParse numericString styles
let numericString = "-106"
let styles = NumberStyles.None
callTryParse numericString styles
let numericString = "103.00"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse numericString styles
let numericString = "103.72"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse numericString styles
let numericString = "10E-01"
let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
callTryParse numericString styles
let numericString = "12E-01"
callTryParse numericString styles
let numericString = "12E01"
callTryParse numericString styles
let numericString = "C8"
callTryParse numericString NumberStyles.HexNumber
let numericString = "0x8C"
callTryParse numericString NumberStyles.HexNumber
0
// The example displays the following output:
// Converted '106' to 106.
// Attempted conversion of '-106' failed.
// Converted '103.00' to 103.
// Attempted conversion of '103.72' failed.
// Converted '10E-01' to 1.
// Attempted conversion of '12E-01' failed.
// Converted '12E01' to 120.
// Converted 'C8' to -56.
// Attempted conversion of '0x8C' failed.
Imports System.Globalization
Module StringParsing
Public Sub Main()
Dim numericString As String
Dim styles As NumberStyles
numericString = "106"
styles = NumberStyles.Integer
CallTryParse(numericString, styles)
numericString = "-106"
styles = NumberStyles.None
CallTryParse(numericString, styles)
numericString = "103.00"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "103.72"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "10E-01"
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(numericString, styles)
numericString = "12E-01"
CallTryParse(numericString, styles)
numericString = "12E01"
CallTryParse(numericString, styles)
numericString = "C8"
CallTryParse(numericString, NumberStyles.HexNumber)
numericString = "0x8C"
CallTryParse(numericString, NumberStyles.HexNumber)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
Dim number As SByte
Dim result As Boolean = SByte.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 '106' to 106.
' Attempted conversion of '-106' failed.
' Converted '103.00' to 103.
' Attempted conversion of '103.72' failed.
' Converted '10E-01' to 1.
' Attempted conversion of '12E-01' failed.
' Converted '12E01' to 120.
' Converted 'C8' to -56.
' Attempted conversion of '0x8C' failed.
Hinweise
Die TryParse(String, NumberStyles, IFormatProvider, SByte) -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 value
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 value
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 value
Parameter die folgenden Elemente enthalten:
[ws] [$][Zeichen][Ziffern,]Ziffern[. fractional_digits][E[sign]exponential_digits][ws]
Wenn der style
Parameter enthält AllowHexSpecifier, kann der value
Parameter die folgenden Elemente enthalten:
[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 von value angezeigt werden, wenn style das NumberStyles.AllowLeadingWhite Flag enthalten ist, oder am Ende von value , wenn style das NumberStyles.AllowTrailingWhite Flag enthalten ist. |
$ | 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 value angezeigt werden, wenn style das NumberStyles.AllowCurrencySymbol Flag enthalten ist. |
sign | Ein optionales Zeichen. Das Zeichen kann am Anfang von value angezeigt werden, wenn style das NumberStyles.AllowLeadingSign Flag enthalten ist, und es kann am Ende value von angezeigt werden, wenn style das NumberStyles.AllowTrailingSign Flag enthalten ist. Klammern können in value verwendet werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses Flag enthalten ist. |
Zahlen | Eine Sequenz von Ziffern von 0 bis 9. |
, | Ein kulturspezifisches Gruppentrennzeichen. Das Gruppentrennzeichen der von provider angegebenen Kultur kann in value angezeigt werden, wenn style das NumberStyles.AllowThousands Flag enthalten ist. |
. | Ein kulturspezifisches Dezimalzeichensymbol. Das Dezimalstellensymbol der durch provider angegebenen Kultur kann in value angezeigt werden, wenn style das NumberStyles.AllowDecimalPoint Flag enthalten ist. |
fractional_digits | Mindestens ein Vorkommen der Ziffer 0. Bruchstellen können nur in value 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 value 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 value 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-Steuerelementelemente, die möglicherweise vorhanden sind, aber nicht erforderlich sind, um in dieser Eingabezeichenfolge vorhanden zu sein. In der folgenden Tabelle wird angegeben, wie sich einzelne NumberStyles Member auf die Elemente auswirken, die möglicherweise in value
vorhanden sind.
Nicht zusammengesetzte NumberStyles Werte |
Zusätzlich zu Ziffern zulässige Elemente |
---|---|
None | Nur Dezimalstellen. |
AllowDecimalPoint | Das Dezimalzeichen (.) 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 value eine Zahl in exponentieller Notation darstellt, darf sie keine ungleich 00,gebrochene Komponente aufweisen. |
AllowLeadingWhite | Das ws-Element am Anfang von value . |
AllowTrailingWhite | Das ws-Element am Ende von value . |
AllowLeadingSign | Das Vorzeichenelement vor Ziffern. |
AllowTrailingSign | Das Zeichenelement nach Ziffern. |
AllowParentheses | Das Zeichenelement in Form von Klammern, die den numerischen Wert einschließen. |
AllowThousands | Das Gruppentrennzeichen (,)-Element. |
AllowCurrencySymbol | Das Währungselement ($). |
Currency | Alle Elemente. Eine value hexadezimale Zahl oder eine Zahl in exponentieller Notation kann jedoch nicht dargestellt werden. |
Float | Das ws-Element am Anfang oder Ende von value , zeichen am Anfang von value und das Dezimalzeichen (.). Der value Parameter kann auch die exponentielle Notation verwenden. |
Number | Die Elemente ws, Vorzeichen, Gruppentrennzeichen (,) und Dezimalstellen (.). |
Any | Alle Elemente. Eine value hexadezimale Zahl kann jedoch nicht dargestellt werden. |
Wenn das NumberStyles.AllowHexSpecifier Flag verwendet wird, value
muss es sich um einen Hexadezimalwert handelt. Gültige Hexadezimalstellen sind 0-9, a-f und A-F. Die einzigen anderen Flags, die in style
vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Enumeration hat ein zusammengesetztes Format, HexNumber, das beide Leerzeichenflags enthält.)
Hinweis
Wenn value
die Zeichenfolgendarstellung einer hexadezimalen Zahl 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 zum Format von value
bereitstellt. Der provider
Parameter kann einer 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. (Die Implementierung von GetFormat gibt sich selbst zurück.)
Ein benutzerdefiniertes IFormatProviderObjekt, das implementiert. Ihre GetFormat Methode instanziiert und gibt das Objekt zurück, das NumberFormatInfo Formatierungsinformationen bereitstellt.
Wenn provider
ist null
, wird das NumberFormatInfo Objekt für die aktuelle Kultur verwendet.