UInt16.TryParse Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje reprezentację ciągu liczby na jej 16-bitowy niepodpisany odpowiednik liczb całkowitych. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem.
Przeciążenia
TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt16) |
Próbuje przeanalizować zakres znaków UTF-8 w wartość. |
TryParse(ReadOnlySpan<Char>, UInt16) |
Próbuje przekonwertować reprezentację zakresu liczby na 16-bitową niepodpisaną liczbę całkowitą równoważną. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem. |
TryParse(String, UInt16) |
Próbuje przekonwertować reprezentację ciągu liczby na 16-bitową niepodpisaną liczbę całkowitą równoważną. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt16) |
Próbuje przeanalizować zakres znaków w wartości. |
TryParse(String, IFormatProvider, UInt16) |
Próbuje przeanalizować ciąg w wartości. |
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt16) |
Próbuje przeanalizować zakres znaków UTF-8 w wartość. |
TryParse(ReadOnlySpan<Byte>, UInt16) |
Próbuje przekonwertować zakres znaków UTF-8 zawierający reprezentację ciągu liczby na 16-bitową liczbę całkowitą bez znaku. |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UInt16) |
Próbuje przekonwertować reprezentację zakresu liczby w określonym stylu i formacie specyficznym dla kultury na 16-bitową liczbę całkowitą bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem. |
TryParse(String, NumberStyles, IFormatProvider, UInt16) |
Próbuje przekonwertować reprezentację ciągu liczby w określonym stylu i formacie specyficznym dla kultury na 16-bitową liczbę całkowitą bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Próbuje przeanalizować zakres znaków UTF-8 w wartość.
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
Parametry
- utf8Text
- ReadOnlySpan<Byte>
Zakres znaków UTF-8 do przeanalizowania.
- provider
- IFormatProvider
Obiekt, który udostępnia informacje o formatowaniu specyficznym dla kultury na temat utf8Text
.
- result
- UInt16
Po powrocie zawiera wynik pomyślnego analizowania utf8Text
lub niezdefiniowanej wartości w przypadku błędu.
Zwraca
true
, jeśli utf8Text
została pomyślnie przeanalizowana; w przeciwnym razie false
.
Dotyczy
TryParse(ReadOnlySpan<Char>, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Próbuje przekonwertować reprezentację zakresu liczby na 16-bitową niepodpisaną liczbę całkowitą równoważną. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem.
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
Parametry
- s
- ReadOnlySpan<Char>
Zakres zawierający znaki reprezentujące liczbę do przekonwertowania.
- result
- UInt16
Gdy ta metoda zwraca, zawiera 16-bitową niepodpisaną wartość całkowitą, która jest równoważna liczbie zawartej w s
, jeśli konwersja zakończyła się pomyślnie lub zero, jeśli konwersja nie powiodła się. Konwersja nie powiedzie się, jeśli parametr s
jest null
lub Empty, nie ma poprawnego formatu. lub reprezentuje liczbę mniejszą niż UInt16.MinValue lub większą niż UInt16.MaxValue. Ten parametr jest przekazywany niezainicjowany; każda wartość pierwotnie podana w result
zostanie zastąpiona.
Zwraca
true
, jeśli s
została pomyślnie przekonwertowana; w przeciwnym razie false
.
- Atrybuty
Dotyczy
TryParse(String, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
- Alternatywa zgodna ze specyfikacją CLS
- System.Int32.TryParse(String, Int32)
Próbuje przekonwertować reprezentację ciągu liczby na 16-bitową niepodpisaną liczbę całkowitą równoważną. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem.
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
Parametry
- s
- String
Ciąg reprezentujący liczbę do przekonwertowania.
- result
- UInt16
Gdy ta metoda zwraca, zawiera 16-bitową niepodpisaną wartość całkowitą, która jest równoważna liczbie zawartej w s
, jeśli konwersja zakończyła się pomyślnie lub zero, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, jeśli parametr s
jest null
lub Empty, nie jest w poprawnym formacie lub reprezentuje liczbę mniejszą niż UInt16.MinValue lub większą niż UInt16.MaxValue. Ten parametr jest przekazywany niezainicjowany; każda wartość pierwotnie podana w result
zostanie zastąpiona.
Zwraca
true
, jeśli s
została pomyślnie przekonwertowana; w przeciwnym razie false
.
- Atrybuty
Przykłady
Poniższy przykład wywołuje metodę TryParse(String, UInt16) raz dla każdego elementu w tablicy ciągów.
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.
Uwagi
Metoda TryParse(String, UInt16) jest podobna do metody Parse(String), z tą różnicą, że nie zgłasza wyjątku w przypadku niepowodzenia konwersji. Ta metoda eliminuje konieczność użycia obsługi wyjątków w celu przetestowania FormatException, jeśli s
jest nieprawidłowa i nie można jej pomyślnie przeanalizować.
Parametr s
powinien być ciągiem reprezentującym liczbę dziesiętną w następującej postaci:
[ws] [podpisywania]cyfry[ws]
Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne. W poniższej tabeli opisano każdy element.
Pierwiastek | Opis |
---|---|
ws | Opcjonalne białe znaki. |
podpisywania |
Opcjonalny znak. Prawidłowe znaki są określane przez właściwości NumberFormatInfo.NegativeSign i NumberFormatInfo.PositiveSign bieżącej kultury. |
cyfry | Sekwencja cyfr dziesiętnych z zakresu od 0 do 9. |
Nuta
Ciąg określony przez parametr s
nie może zawierać żadnych separatorów grup ani separatora dziesiętnego i nie może mieć części dziesiętnej.
Parametr s
jest interpretowany przy użyciu stylu NumberStyles.Integer. Oprócz cyfr dziesiętnych dozwolone są tylko spacje wiodące i końcowe z znakiem wiodącym. Aby jawnie zdefiniować elementy stylu przy użyciu informacji formatowania specyficznego dla kultury, które mogą być obecne w s
, wywołaj metodę TryParse(String, NumberStyles, IFormatProvider, UInt16).
Parametr s
jest analizowany przy użyciu informacji o formatowaniu w obiekcie NumberFormatInfo dla bieżącej kultury systemu. Aby uzyskać więcej informacji, zobacz NumberFormatInfo.CurrentInfo.
To przeciążenie interpretuje wszystkie cyfry w parametrze s
jako cyfry dziesiętne. Aby przeanalizować reprezentację ciągu liczby szesnastkowej, wywołaj zamiast tego przeciążenie TryParse(String, NumberStyles, IFormatProvider, UInt16).
Zobacz też
- Parse(String)
- ToString()
- analizowanie ciągów liczbowych na platformie .NET
- przykład : narzędzie formatowania winforms platformy .NET Core (C#)
- przykład : .NET Core WinForms Formatting Utility (Visual Basic)
Dotyczy
TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Próbuje przeanalizować zakres znaków w wartości.
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
Parametry
- s
- ReadOnlySpan<Char>
Zakres znaków do przeanalizowania.
- provider
- IFormatProvider
Obiekt, który udostępnia informacje o formatowaniu specyficznym dla kultury na temat s
.
- result
- UInt16
Gdy ta metoda zwraca wartość , zawiera wynik pomyślnego analizowania s
lub niezdefiniowanej wartości w przypadku błędu.
Zwraca
true
, jeśli s
została pomyślnie przeanalizowana; w przeciwnym razie false
.
Dotyczy
TryParse(String, IFormatProvider, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Próbuje przeanalizować ciąg w wartości.
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
Parametry
- s
- String
Ciąg do analizy.
- provider
- IFormatProvider
Obiekt, który udostępnia informacje o formatowaniu specyficznym dla kultury na temat s
.
- result
- UInt16
Gdy ta metoda zwraca, zawiera wynik pomyślnego analizowania s
lub niezdefiniowanej wartości w przypadku błędu.
Zwraca
true
, jeśli s
została pomyślnie przeanalizowana; w przeciwnym razie false
.
Dotyczy
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Próbuje przeanalizować zakres znaków UTF-8 w wartość.
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
Parametry
- utf8Text
- ReadOnlySpan<Byte>
Zakres znaków UTF-8 do przeanalizowania.
- style
- NumberStyles
Bitowa kombinacja stylów liczbowych, które mogą być obecne w utf8Text
.
- provider
- IFormatProvider
Obiekt, który udostępnia informacje o formatowaniu specyficznym dla kultury na temat utf8Text
.
- result
- UInt16
Po powrocie zawiera wynik pomyślnego analizowania utf8Text
lub niezdefiniowanej wartości w przypadku błędu.
Zwraca
true
, jeśli utf8Text
została pomyślnie przeanalizowana; w przeciwnym razie false
.
Dotyczy
TryParse(ReadOnlySpan<Byte>, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Próbuje przekonwertować zakres znaków UTF-8 zawierający reprezentację ciągu liczby na 16-bitową liczbę całkowitą bez znaku.
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
Parametry
- utf8Text
- ReadOnlySpan<Byte>
Zakres zawierający znaki UTF-8 reprezentujące liczbę do przekonwertowania.
- result
- UInt16
Gdy ta metoda zwraca wartość 16-bitową niepodpisaną liczbę całkowitą równoważną liczbie zawartej w utf8Text
, jeśli konwersja zakończyła się pomyślnie, lub zero, jeśli konwersja nie powiodła się. Ten parametr jest przekazywany niezainicjowany; każda wartość pierwotnie podana w wyniku zostanie zastąpiona.
Zwraca
true
, jeśli utf8Text
została pomyślnie przekonwertowana; w przeciwnym razie false
.
Dotyczy
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Próbuje przekonwertować reprezentację zakresu liczby w określonym stylu i formacie specyficznym dla kultury na 16-bitową liczbę całkowitą bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem.
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, [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, 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
Parametry
- s
- ReadOnlySpan<Char>
Zakres zawierający znaki reprezentujące liczbę do przekonwertowania. Zakres jest interpretowany przy użyciu stylu określonego przez parametr style
.
- style
- NumberStyles
Bitowa kombinacja wartości wyliczenia wskazująca dozwolony format s
. Typową wartością do określenia jest Integer.
- provider
- IFormatProvider
Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury na temat s
.
- result
- UInt16
Gdy ta metoda zwraca, zawiera 16-bitową niepodpisaną wartość całkowitą równoważną liczbie zawartej w s
, jeśli konwersja zakończyła się pomyślnie lub zero, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, jeśli parametr s
jest null
lub Empty, nie jest w formacie zgodnym z style
lub reprezentuje liczbę mniejszą niż UInt16.MinValue lub większą niż UInt16.MaxValue. Ten parametr jest przekazywany niezainicjowany; każda wartość pierwotnie podana w result
zostanie zastąpiona.
Zwraca
true
, jeśli s
została pomyślnie przekonwertowana; w przeciwnym razie false
.
- Atrybuty
Dotyczy
TryParse(String, NumberStyles, IFormatProvider, UInt16)
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
- Źródło:
- UInt16.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
- Alternatywa zgodna ze specyfikacją CLS
- System.Int32.TryParse(String, Int32)
Próbuje przekonwertować reprezentację ciągu liczby w określonym stylu i formacie specyficznym dla kultury na 16-bitową liczbę całkowitą bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem.
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
Parametry
- s
- String
Ciąg reprezentujący liczbę do przekonwertowania. Ciąg jest interpretowany przy użyciu stylu określonego przez parametr style
.
- style
- NumberStyles
Bitowa kombinacja wartości wyliczenia wskazująca dozwolony format s
. Typową wartością do określenia jest Integer.
- provider
- IFormatProvider
Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury na temat s
.
- result
- UInt16
Gdy ta metoda zwraca, zawiera 16-bitową niepodpisaną wartość całkowitą równoważną liczbie zawartej w s
, jeśli konwersja zakończyła się pomyślnie lub zero, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, jeśli parametr s
jest null
lub Empty, nie jest w formacie zgodnym z style
lub reprezentuje liczbę mniejszą niż UInt16.MinValue lub większą niż UInt16.MaxValue. Ten parametr jest przekazywany niezainicjowany; każda wartość pierwotnie podana w result
zostanie zastąpiona.
Zwraca
true
, jeśli s
została pomyślnie przekonwertowana; w przeciwnym razie false
.
- Atrybuty
Wyjątki
style
nie jest wartością NumberStyles.
-lub-
style
nie jest kombinacją wartości AllowHexSpecifier i HexNumber.
Przykłady
Poniższy przykład wywołuje metodę TryParse(String, NumberStyles, IFormatProvider, UInt16) z wieloma różnymi ciągami i wartościami NumberStyles.
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.
Uwagi
Metoda TryParse(String, NumberStyles, IFormatProvider, UInt16) jest podobna do metody Parse(String, NumberStyles, IFormatProvider), z tą różnicą, że nie zgłasza wyjątku w przypadku niepowodzenia konwersji. Ta metoda eliminuje konieczność użycia obsługi wyjątków w celu przetestowania FormatException, jeśli s
jest nieprawidłowa i nie można jej przeanalizować pomyślnie.
Parametr style
definiuje elementy stylu (takie jak biały znak lub znak dodatni lub ujemny), które są dozwolone w parametrze s
, aby operacja analizy zakończyła się powodzeniem. Musi to być kombinacja flag bitowych z wyliczenia NumberStyles. W zależności od wartości style
parametr s
może zawierać następujące elementy:
[ws] [$] [podpisywania] [cyfry,]cyfry[.fractional_digits][E[znak]exponential_digits][ws]
Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne. Lub jeśli parametr style
zawiera AllowHexSpecifier, parametr s
może zawierać następujące elementy:
[ws]hexdigits[ws]
W poniższej tabeli opisano każdy element.
ws opcjonalne białe znaki. Białe znaki mogą pojawić się na początku s
, jeśli style
zawiera flagę NumberStyles.AllowLeadingWhite lub na końcu s
, jeśli style
zawiera flagę NumberStyles.AllowTrailingWhite.
$ symbol waluty specyficznej dla kultury. Jego pozycja w ciągu jest definiowana przez właściwość CurrencyPositivePattern obiektu NumberFormatInfo zwróconego przez metodę GetFormat parametru provider
. Symbol waluty może pojawić się w s
, jeśli style
zawiera flagę NumberStyles.AllowCurrencySymbol.
znak opcjonalny znak. Znak może pojawić się na początku s
, jeśli style
zawiera flagę NumberStyles.AllowLeadingSign i może pojawić się na końcu s
, jeśli style
zawiera flagę NumberStyles.AllowTrailingSign. Nawiasy mogą być używane w s
, aby wskazać wartość ujemną, jeśli style
zawiera flagę NumberStyles.AllowParentheses. Jeśli jednak znak ujemny jest obecny, s
może reprezentować tylko wartość zero dla operacji analizy, aby zakończyć się pomyślnie.
cyfry Sekwencja cyfr z zakresu od 0 do 9.
, separator grupy specyficznej dla kultury. Separator grupy kultury określonej przez provider
może pojawić się w s
, jeśli style
zawiera flagę NumberStyles.AllowThousands.
.
Symbol separatora dziesiętnego specyficznego dla kultury. Symbol punktu dziesiętnego kultury określonej przez provider
może pojawić się w s
, jeśli style
zawiera flagę NumberStyles.AllowDecimalPoint.
fractional_digits co najmniej jedno wystąpienie cyfry 0. Cyfry ułamkowe mogą być wyświetlane w s
tylko wtedy, gdy style
zawiera flagę NumberStyles.AllowDecimalPoint.
E Znak "e" lub "E", który wskazuje, że wartość jest reprezentowana w notacji wykładniczej (naukowej). Parametr s
może reprezentować liczbę w notacji wykładniczej, jeśli style
zawiera flagę NumberStyles.AllowExponent.
exponential_digits Sekwencja cyfr z zakresu od 0 do 9. Parametr s
może reprezentować liczbę w notacji wykładniczej, jeśli style
zawiera flagę NumberStyles.AllowExponent.
szesnastkowe sekwencja cyfr szesnastkowe od 0 do f lub od 0 do F.
Nuta
Wszystkie znaki NUL (U+0000) w s
są ignorowane przez operację analizowania, niezależnie od wartości argumentu style
.
Ciąg z cyframi dziesiętnymi (który odpowiada flagi NumberStyles.None) zawsze analizuje się pomyślnie. Większość pozostałych elementów członkowskich NumberStyles, które mogą być obecne, ale nie muszą być obecne, w tym ciągu wejściowym. W poniższej tabeli przedstawiono, jak poszczególne elementy członkowskie NumberStyles wpływają na elementy, które mogą znajdować się w s
.
Wartości NumberStyles niezwiązanych |
Elementy dozwolone w wartości oprócz cyfr |
---|---|
None | Tylko cyfry dziesiętne. |
AllowDecimalPoint | Punkt dziesiętny (.) i elementy fractional_digits. Jednak fractional_digits musi składać się tylko z co najmniej jednej cyfry lub metoda zwraca false . |
AllowExponent | Znak "e" lub "E", który wskazuje notację wykładniczą wraz z exponential_digits. Jeśli s reprezentuje liczbę w notacji wykładniczej, nie może mieć składnika ułamkowego innego niż zero. |
AllowLeadingWhite | Element ws na początku s . |
AllowTrailingWhite | Element ws na końcu s . |
AllowLeadingSign | Element |
AllowTrailingSign | Element podpisywania |
AllowParentheses | Znak element w postaci nawiasów ujętą w wartość zero liczbową. |
AllowThousands | Element separatora grup (,). |
AllowCurrencySymbol | Element currency ($). |
Currency | Wszystkie elementy. Jednak s nie może reprezentować liczby szesnastkowej ani liczby w notacji wykładniczej. |
Float | Element ws na początku lub na końcu s , znak na początku s i symbol dziesiętny (.). Parametr s może również używać notacji wykładniczej. |
Number | Elementy ws, znaku, separatora grup (,) i punktu dziesiętnego (.). |
Any | Wszystkie elementy. Jednak s nie może reprezentować liczby szesnastkowej. |
Jeśli jest używana flaga NumberStyles.AllowHexSpecifier, s
musi być wartością szesnastkową. Prawidłowe cyfry szesnastkowe to od 0 do 9, od f i od A do F. Prefiks taki jak "0x" nie jest obsługiwany i powoduje niepowodzenie operacji analizowania. Jedynymi innymi flagami, które mogą być obecne w style
, są NumberStyles.AllowLeadingWhite i NumberStyles.AllowTrailingWhite. (Wyliczenie NumberStyles ma styl złożony, HexNumber, który zawiera obie flagi odstępu).
Nuta
Jeśli s
jest reprezentacją ciągu liczby szesnastkowej, nie może być poprzedzona żadną dekoracją (taką jak 0x
lub &h
), która odróżnia ją jako liczbę szesnastkową. Powoduje to niepowodzenie konwersji.
Parametr provider
jest implementacją IFormatProvider. Metoda GetFormat zwraca obiekt NumberFormatInfo, który udostępnia informacje specyficzne dla kultury dotyczące formatu s
. Parametr provider
może być jednym z następujących elementów:
Obiekt CultureInfo reprezentujący kulturę, która dostarcza informacje o formatowaniu. Metoda GetFormat zwraca obiekt NumberFormatInfo, który udostępnia informacje o formatowaniu liczbowym dla tej kultury.
Obiekt NumberFormatInfo, który udostępnia informacje o formatowaniu liczbowym. (Jego implementacja GetFormat po prostu zwraca się.
Obiekt niestandardowy, który implementuje IFormatProvider. Metoda GetFormat tworzy wystąpienie i zwraca obiekt NumberFormatInfo, który udostępnia informacje o formatowaniu.
Jeśli provider
jest null
, używany jest obiekt NumberFormatInfo dla bieżącej kultury.