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
- Ź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
- Ź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
- Ź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
- Ź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 slub 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
- Ź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
- Ź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
- Ź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
- Ź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) = System::Numerics::INumberBase<System::UInt16>::TryParse;
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As UShort) As Boolean
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 stylelub 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
- Ź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 stylelub 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 styleparametr 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 si 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.