UInt64.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.
Próbuje przekonwertować reprezentację ciągu liczby na odpowiednik 64-bitowej liczby całkowitej bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem.
Przeciążenia
TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt64) |
Próbuje przeanalizować zakres znaków UTF-8 w wartość. |
TryParse(ReadOnlySpan<Char>, UInt64) |
Próbuje przekonwertować reprezentację zakresu liczby na 64-bitową liczbę całkowitą bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem. |
TryParse(String, UInt64) |
Próbuje przekonwertować reprezentację ciągu liczby na odpowiednik 64-bitowej liczby całkowitej bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt64) |
Próbuje przeanalizować zakres znaków w wartości. |
TryParse(String, IFormatProvider, UInt64) |
Próbuje przeanalizować ciąg w wartości. |
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt64) |
Próbuje przeanalizować zakres znaków UTF-8 w wartość. |
TryParse(ReadOnlySpan<Byte>, UInt64) |
Próbuje przekonwertować zakres znaków UTF-8 zawierający reprezentację ciągu liczby na 64-bitową liczbę całkowitą bez znaku. |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UInt64) |
Próbuje przekonwertować reprezentację zakresu liczby w określonym stylu i formacie specyficznym dla kultury na odpowiednik 64-bitowej liczby całkowitej bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem. |
TryParse(String, NumberStyles, IFormatProvider, UInt64) |
Próbuje przekonwertować reprezentację ciągu liczby w określonym stylu i formacie specyficznym dla kultury na odpowiednik 64-bitowej liczby całkowitej bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.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::UInt64 % result) = IUtf8SpanParsable<System::UInt64>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out ulong result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * uint64 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As ULong) 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
- UInt64
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>, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Próbuje przekonwertować reprezentację zakresu liczby na 64-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, [Runtime::InteropServices::Out] System::UInt64 % result);
public static bool TryParse (ReadOnlySpan<char> s, out ulong result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, out ulong result);
static member TryParse : ReadOnlySpan<char> * uint64 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * uint64 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As ULong) As Boolean
Parametry
- s
- ReadOnlySpan<Char>
Zakres zawierający znaki reprezentujące liczbę do przekonwertowania.
- result
- UInt64
Gdy ta metoda zwraca, zawiera 64-bitową wartość całkowitą bez znaku, która jest równoważna liczbie zawartej w s
, jeśli konwersja powiodła się lub zero, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, jeśli parametr s
jest null
lub Empty, nie jest poprawnym formatem lub reprezentuje liczbę mniejszą niż UInt64.MinValue lub większą niż UInt64.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, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
- Alternatywa zgodna ze specyfikacją CLS
- System.Decimal.Parse(String)
Próbuje przekonwertować reprezentację ciągu liczby na odpowiednik 64-bitowej liczby całkowitej bez znaku. Wartość zwracana wskazuje, czy konwersja zakończyła się powodzeniem, czy niepowodzeniem.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::UInt64 % result);
[System.CLSCompliant(false)]
public static bool TryParse (string s, out ulong result);
public static bool TryParse (string? s, out ulong result);
[System.CLSCompliant(false)]
public static bool TryParse (string? s, out ulong result);
[<System.CLSCompliant(false)>]
static member TryParse : string * uint64 -> bool
static member TryParse : string * uint64 -> bool
Public Shared Function TryParse (s As String, ByRef result As ULong) As Boolean
Parametry
- s
- String
Ciąg reprezentujący liczbę do przekonwertowania.
- result
- UInt64
Gdy ta metoda zwraca, zawiera 64-bitową wartość całkowitą bez znaku, która jest równoważna liczbie zawartej w s
, jeśli konwersja powiodła się lub zero, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, jeśli parametr s
jest null
lub Empty, nie jest poprawnym formatem lub reprezentuje liczbę mniejszą niż UInt64.MinValue lub większą niż UInt64.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, UInt64) raz dla każdego elementu w tablicy ciągów.
string[] numericStrings = { "1293.8", "+1671.7", "28347.",
" 33113684 ", "(0)", "-0", "+1293617",
"18-", "119870", "31,024", " 3127094 ",
"00700000" };
ulong number;
foreach (string numericString in numericStrings)
{
if (UInt64.TryParse(numericString, out number))
Console.WriteLine("Converted '{0}' to {1}.", numericString, number);
else
Console.WriteLine("Cannot convert '{0}' to a UInt64.", numericString);
}
// The example displays the following output:
// Cannot convert '1293.8' to a UInt64.
// Cannot convert '+1671.7' to a UInt64.
// Cannot convert '28347.' to a UInt64.
// Converted ' 33113684 ' to 33113684.
// Cannot convert '(0)' to a UInt64.
// Converted '-0' to 0.
// Converted '+1293617' to 1293617.
// Cannot convert '18-' to a UInt64.
// Converted '119870' to 119870.
// Cannot convert '31,024' to a UInt64.
// Converted ' 3127094 ' to 3127094.
// Converted '0070000' to 70000.
open System
let numericStrings =
[| "1293.8"; "+1671.7"; "28347."
" 33113684 "; "(0)"; "-0"; "+1293617"
"18-"; "119870"; "31,024"; " 3127094 "
"00700000" |]
for numericString in numericStrings do
match UInt64.TryParse numericString with
| true, number ->
printfn $"Converted '{numericString}' to {number}."
| _ ->
printfn $"Cannot convert '{numericString}' to a UInt64."
// The example displays the following output:
// Cannot convert '1293.8' to a UInt64.
// Cannot convert '+1671.7' to a UInt64.
// Cannot convert '28347.' to a UInt64.
// Converted ' 33113684 ' to 33113684.
// Cannot convert '(0)' to a UInt64.
// Converted '-0' to 0.
// Converted '+1293617' to 1293617.
// Cannot convert '18-' to a UInt64.
// Converted '119870' to 119870.
// Cannot convert '31,024' to a UInt64.
// Converted ' 3127094 ' to 3127094.
// Converted '0070000' to 70000.
Dim numericStrings() As String = {"1293.8", "+1671.7", "28347.", _
" 33113684 ", "(0)", "-0", "+1293617", _
"18-", "119870", "31,024", " 3127094 ", _
"0070000" }
Dim number As ULong
For Each numericString As String In numericStrings
If UInt64.TryParse(numericString, number) Then
Console.WriteLine("Converted '{0}' to {1}.", numericString, number)
Else
Console.WriteLine("Cannot convert '{0}' to a UInt64.", numericString)
End If
Next
' The example displays the following output:
' Cannot convert '1293.8' to a UInt64.
' Cannot convert '+1671.7' to a UInt64.
' Cannot convert '28347.' to a UInt64.
' Converted ' 33113684 ' to 33113684.
' Cannot convert '(0)' to a UInt64.
' Converted '-0' to 0.
' Converted '+1293617' to 1293617.
' Cannot convert '18-' to a UInt64.
' Converted '119870' to 119870.
' Cannot convert '31,024' to a UInt64.
' Converted ' 3127094 ' to 3127094.
' Converted '0070000' to 70000.
Uwagi
Metoda TryParse(String, UInt64) 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. |
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, UInt64).
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 ułamkowej.
Parametr s
jest analizowany przy użyciu informacji formatowania w obiekcie NumberFormatInfo zainicjowanym 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, UInt64).
Zobacz też
- Parse
- 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, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
Próbuje przeanalizować zakres znaków w wartości.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt64 % result) = ISpanParsable<System::UInt64>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, IFormatProvider? provider, out ulong result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * uint64 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As ULong) 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
- UInt64
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, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
Próbuje przeanalizować ciąg w wartości.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt64 % result) = IParsable<System::UInt64>::TryParse;
public static bool TryParse (string? s, IFormatProvider? provider, out ulong result);
static member TryParse : string * IFormatProvider * uint64 -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As ULong) 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
- UInt64
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, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.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::UInt64 % result) = System::Numerics::INumberBase<System::UInt64>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out ulong result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * uint64 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As ULong) 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
- UInt64
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>, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
Próbuje przekonwertować zakres znaków UTF-8 zawierający reprezentację ciągu liczby na 64-bitową liczbę całkowitą bez znaku.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::UInt64 % result);
public static bool TryParse (ReadOnlySpan<byte> utf8Text, out ulong result);
static member TryParse : ReadOnlySpan<byte> * uint64 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As ULong) As Boolean
Parametry
- utf8Text
- ReadOnlySpan<Byte>
Zakres zawierający znaki UTF-8 reprezentujące liczbę do przekonwertowania.
- result
- UInt64
Gdy ta metoda zwraca, zawiera 64-bitową wartość całkowitą bez znaku 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, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.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 odpowiednik 64-bitowej liczby całkowitej 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::UInt64 % result);
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt64 % result) = System::Numerics::INumberBase<System::UInt64>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ulong result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out ulong result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ulong result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint64 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint64 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As ULong) 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
- UInt64
Gdy ta metoda zwróci wartość 64-bitową niepodpisaną 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ż UInt64.MinValue lub większą niż UInt64.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, UInt64)
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
- Źródło:
- UInt64.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
- Alternatywa zgodna ze specyfikacją CLS
- System.Decimal.Parse(String)
Próbuje przekonwertować reprezentację ciągu liczby w określonym stylu i formacie specyficznym dla kultury na odpowiednik 64-bitowej liczby całkowitej 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::UInt64 % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt64 % result) = System::Numerics::INumberBase<System::UInt64>::TryParse;
[System.CLSCompliant(false)]
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out ulong result);
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ulong result);
[System.CLSCompliant(false)]
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ulong result);
[<System.CLSCompliant(false)>]
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * uint64 -> bool
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * uint64 -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As ULong) 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
- UInt64
Gdy ta metoda zwróci wartość 64-bitową niepodpisaną 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ż UInt64.MinValue lub większą niż UInt64.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, UInt64) 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 = "2106034";
styles = NumberStyles.Integer;
CallTryParse(numericString, styles);
numericString = "-10603";
styles = NumberStyles.None;
CallTryParse(numericString, styles);
numericString = "29103674.00";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "10345.72";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "41792210E-01";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(numericString, styles);
numericString = "9112E-01";
CallTryParse(numericString, styles);
numericString = "312E01";
CallTryParse(numericString, styles);
numericString = "FFC86DA1";
CallTryParse(numericString, NumberStyles.HexNumber);
numericString = "0x8F8C";
CallTryParse(numericString, NumberStyles.HexNumber);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
ulong number;
bool result = UInt64.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 '2106034' to 2106034.
// Attempted conversion of '-10603' failed.
// Converted '29103674.00' to 29103674.
// Attempted conversion of '10345.72' failed.
// Converted '41792210E-01' to 4179221.
// Attempted conversion of '9112E-01' failed.
// Converted '312E01' to 3120.
// Converted 'FFC86DA1' to 4291325345.
// Attempted conversion of '0x8F8C' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) (styles: NumberStyles) =
match UInt64.TryParse(stringToConvert, styles, CultureInfo.InvariantCulture) with
| true, number ->
printfn $"Converted '{stringToConvert}' to {number}."
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
do
let numericString = "2106034"
let styles = NumberStyles.Integer
callTryParse numericString styles
let numericString = "-10603"
let styles = NumberStyles.None
callTryParse numericString styles
let numericString = "29103674.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 = "41792210E-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 = "FFC86DA1"
callTryParse numericString NumberStyles.HexNumber
let numericString = "0x8F8C"
callTryParse numericString NumberStyles.HexNumber
// The example displays the following output:
// Converted '2106034' to 2106034.
// Attempted conversion of '-10603' failed.
// Converted '29103674.00' to 29103674.
// Attempted conversion of '10345.72' failed.
// Converted '41792210E-01' to 4179221.
// Attempted conversion of '9112E-01' failed.
// Converted '312E01' to 3120.
// Converted 'FFC86DA1' to 4291325345.
// Attempted conversion of '0x8F8C' failed.
Imports System.Globalization
Module Example
Public Sub Main()
Dim numericString As String
Dim styles As NumberStyles
numericString = "2106034"
styles = NumberStyles.Integer
CallTryParse(numericString, styles)
numericString = "-10603"
styles = NumberStyles.None
CallTryParse(numericString, styles)
numericString = "29103674.00"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "10345.72"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "41792210E-01"
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(numericString, styles)
numericString = "9112E-01"
CallTryParse(numericString, styles)
numericString = "312E01"
CallTryParse(numericString, styles)
numericString = "FFC86DA1"
CallTryParse(numericString, NumberStyles.HexNumber)
numericString = "0x8F8C"
CallTryParse(numericString, NumberStyles.HexNumber)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
Dim number As ULong
Dim result As Boolean = UInt64.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 '2106034' to 2106034.
' Attempted conversion of '-10603' failed.
' Converted '29103674.00' to 29103674.
' Attempted conversion of '10345.72' failed.
' Converted '41792210E-01' to 4179221.
' Attempted conversion of '9112E-01' failed.
' Converted '312E01' to 3120.
' Converted 'FFC86DA1' to 4291325345.
' Attempted conversion of '0x8F8C' failed.
Uwagi
Metoda TryParse(String, NumberStyles, IFormatProvider, UInt64) 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 NumberStyles.AllowHexSpecifier, parametr s
może zawierać następujące elementy:
[ws]hexdigits[ws]
W poniższej tabeli opisano każdy element.
Pierwiastek | Opis |
---|---|
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. |
podpisywania |
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 grup specyficzny 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. |
szesnastkowy | Sekwencja cyfr szesnastkowa 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 znaki szesnastkowe to 0-9, A-F i a-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.