Byte.TryParse Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mencoba mengonversi representasi string dari angka menjadi Byte setara, dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
Overload
TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte) |
Mencoba mengurai rentang karakter UTF-8 menjadi nilai. |
TryParse(ReadOnlySpan<Char>, Byte) |
Mencoba mengonversi representasi rentang angka menjadi Byte setara, dan mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
TryParse(String, Byte) |
Mencoba mengonversi representasi string dari angka menjadi Byte setara, dan mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte) |
Mencoba mengurai rentang karakter menjadi nilai. |
TryParse(String, IFormatProvider, Byte) |
Mencoba mengurai string ke dalam nilai. |
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Byte) |
Mencoba mengurai rentang karakter UTF-8 menjadi nilai. |
TryParse(ReadOnlySpan<Byte>, Byte) |
Mencoba mengonversi rentang karakter UTF-8 yang berisi representasi string angka ke setara dengan bilangan bulat 8-bit yang tidak ditandatangani. |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte) |
Mengonversi representasi rentang angka dalam gaya tertentu dan format khusus budaya menjadi Byte setara. Nilai yang dikembalikan menunjukkan apakah konversi berhasil atau gagal. |
TryParse(String, NumberStyles, IFormatProvider, Byte) |
Mengonversi representasi string angka dalam gaya tertentu dan format khusus budaya menjadi Byte setara. Nilai yang dikembalikan menunjukkan apakah konversi berhasil atau gagal. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mencoba mengurai rentang karakter UTF-8 menjadi nilai.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = IUtf8SpanParsable<System::Byte>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Rentang karakter UTF-8 untuk diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang utf8Text
.
- result
- Byte
Saat kembali, berisi hasil dari penguraian yang berhasil utf8Text
atau nilai yang tidak terdefinisi pada kegagalan.
Mengembalikan
true
jika utf8Text
berhasil diurai; jika tidak, false
.
Berlaku untuk
TryParse(ReadOnlySpan<Char>, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mencoba mengonversi representasi rentang angka menjadi Byte setara, dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse (ReadOnlySpan<char> s, out byte result);
static member TryParse : ReadOnlySpan<char> * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Byte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Rentang yang berisi karakter yang mewakili angka yang akan dikonversi.
- result
- Byte
Ketika metode ini kembali, berisi nilai yang Byte setara dengan angka yang terkandung dalam s
jika konversi berhasil, atau nol jika konversi gagal. Parameter ini diteruskan tanpa diinisialisasi; nilai apa pun yang awalnya disediakan result
akan ditimpa.
Mengembalikan
true
jika s
berhasil dikonversi; jika tidak, false
.
Berlaku untuk
TryParse(String, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mencoba mengonversi representasi string dari angka menjadi Byte setara, dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse (string s, out byte result);
public static bool TryParse (string? s, out byte result);
static member TryParse : string * byte -> bool
Public Shared Function TryParse (s As String, ByRef result As Byte) As Boolean
Parameter
- s
- String
String yang berisi angka yang akan dikonversi.
- result
- Byte
Ketika metode ini kembali, berisi nilai yang Byte setara dengan angka yang terkandung dalam s
jika konversi berhasil, atau nol jika konversi gagal. Parameter ini diteruskan tanpa diinisialisasi; nilai apa pun yang awalnya disediakan result
akan ditimpa.
Mengembalikan
true
jika s
berhasil dikonversi; jika tidak, false
.
Contoh
Contoh berikut memanggil TryParse(String, Byte) metode dengan sejumlah nilai string yang berbeda.
using namespace System;
void main()
{
array<String^>^ byteStrings = gcnew array<String^> { nullptr, String::Empty,
"1024", "100.1", "100",
"+100", "-100", "000000000000000100",
"00,100", " 20 ", "FF", "0x1F" };
Byte byteValue;
for each (String^ byteString in byteStrings) {
bool result = Byte::TryParse(byteString, byteValue);
if (result)
Console::WriteLine("Converted '{0}' to {1}",
byteString, byteValue);
else
Console::WriteLine("Attempted conversion of '{0}' failed.",
byteString);
}
}
// The example displays the following output:
// Attempted conversion of '' failed.
// Attempted conversion of '' failed.`
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Attempted conversion of '00,100' failed.
// Converted ' 20 ' to 20
// Attempted conversion of 'FF' failed.
// Attempted conversion of '0x1F' failed.}
using System;
public class ByteConversion
{
public static void Main()
{
string[] byteStrings = { null, string.Empty, "1024",
"100.1", "100", "+100", "-100",
"000000000000000100", "00,100",
" 20 ", "FF", "0x1F" };
foreach (var byteString in byteStrings)
{
CallTryParse(byteString);
}
}
private static void CallTryParse(string stringToConvert)
{
byte byteValue;
bool success = Byte.TryParse(stringToConvert, out byteValue);
if (success)
{
Console.WriteLine("Converted '{0}' to {1}",
stringToConvert, byteValue);
}
else
{
Console.WriteLine("Attempted conversion of '{0}' failed.",
stringToConvert);
}
}
}
// The example displays the following output to the console:
// Attempted conversion of '' failed.
// Attempted conversion of '' failed.
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Attempted conversion of '00,100' failed.
// Converted ' 20 ' to 20
// Attempted conversion of 'FF' failed.
// Attempted conversion of '0x1F' failed.
open System
let callTryParse (stringToConvert: string) =
match Byte.TryParse stringToConvert with
| true, byteValue ->
printfn $"Converted '{stringToConvert}' to {byteValue}"
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
let byteStrings =
[ null; String.Empty; "1024"
"100.1"; "100"; "+100"; "-100"
"000000000000000100"; "00,100"
" 20 "; "FF"; "0x1F" ]
for byteString in byteStrings do
callTryParse byteString
// The example displays the following output to the console:
// Attempted conversion of '' failed.
// Attempted conversion of '' failed.
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Attempted conversion of '00,100' failed.
// Converted ' 20 ' to 20
// Attempted conversion of 'FF' failed.
// Attempted conversion of '0x1F' failed.
Module ByteConversion
Public Sub Main()
Dim byteStrings() As String = { Nothing, String.Empty, "1024",
"100.1", "100", "+100", "-100",
"000000000000000100", "00,100",
" 20 ", "FF", "0x1F"}
For Each byteString As String In byteStrings
CallTryParse(byteString)
Next
End Sub
Private Sub CallTryParse(stringToConvert As String)
Dim byteValue As Byte
Dim success As Boolean = Byte.TryParse(stringToConvert, byteValue)
If success Then
Console.WriteLine("Converted '{0}' to {1}", _
stringToConvert, byteValue)
Else
Console.WriteLine("Attempted conversion of '{0}' failed.", _
stringToConvert)
End If
End Sub
End Module
' The example displays the following output to the console:
' Attempted conversion of '' failed.
' Attempted conversion of '' failed.
' Attempted conversion of '1024' failed.
' Attempted conversion of '100.1' failed.
' Converted '100' to 100
' Converted '+100' to 100
' Attempted conversion of '-100' failed.
' Converted '000000000000000100' to 100
' Attempted conversion of '00,100' failed.
' Converted ' 20 ' to 20
' Attempted conversion of 'FF' failed.
' Attempted conversion of '0x1F' failed.
Keterangan
Konversi gagal dan metode mengembalikan false
jika s
parameter tidak dalam format yang benar, jika itu null
adalah atau String.Empty, atau jika mewakili angka yang kurang dari MinValue atau lebih besar dari MaxValue.
Metode Byte.TryParse(String, Byte) ini mirip Byte.Parse(String) dengan metode , kecuali yang TryParse(String, Byte) tidak melemparkan pengecualian jika konversi gagal.
Parameter s
harus menjadi representasi string dari angka dalam formulir berikut:
[ws][sign]digits[ws]
Elemen dalam tanda kurung siku ([ dan ]) adalah opsional. Tabel berikut ini menjelaskan setiap elemen.
Elemen | Deskripsi |
---|---|
Ws | Spasi kosong opsional. |
sign | Tanda positif opsional, seperti yang ditentukan oleh NumberFormatInfo.PositiveSign properti budaya saat ini. |
Digit | Urutan digit desimal yang berkisar antara 0 hingga 9. |
Parameter s
ditafsirkan menggunakan Integer gaya . Selain digit desimal nilai byte, hanya spasi di depan dan di belakang bersama dengan tanda di depan yang diizinkan. (Jika tanda ada, tanda harus berupa tanda positif atau metode melempar . OverflowException) Untuk secara eksplisit menentukan elemen gaya bersama dengan informasi pemformatan khusus budaya yang dapat ada di s
, gunakan Byte.Parse(String, NumberStyles, IFormatProvider) metode .
Parameter s
diurai menggunakan informasi pemformatan dalam NumberFormatInfo objek untuk budaya saat ini. Untuk informasi selengkapnya, lihat NumberFormatInfo.CurrentInfo.
Kelebihan beban Byte.TryParse(String, Byte) metode ini menginterpretasikan semua digit dalam s
parameter sebagai digit desimal. Untuk mengurai representasi string dari nomor heksadesimal, panggil Byte.TryParse(String, NumberStyles, IFormatProvider, Byte) kelebihan beban.
Lihat juga
- Sampel: Utilitas Pemformatan .NET Core WinForms (C#)
- Sampel: Utilitas Pemformatan .NET Core WinForms (Visual Basic)
Berlaku untuk
TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mencoba mengurai rentang karakter menjadi nilai.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = ISpanParsable<System::Byte>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Rentang karakter yang akan diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang s
.
- result
- Byte
Ketika metode ini kembali, berisi hasil dari penguraian yang berhasil s
, atau nilai yang tidak terdefinisi pada kegagalan.
Mengembalikan
true
jika s
berhasil diurai; jika tidak, false
.
Berlaku untuk
TryParse(String, IFormatProvider, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mencoba mengurai string ke dalam nilai.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = IParsable<System::Byte>::TryParse;
public static bool TryParse (string? s, IFormatProvider? provider, out byte result);
static member TryParse : string * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- s
- String
String yang akan diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang s
.
- result
- Byte
Ketika metode ini kembali, berisi hasil dari penguraian yang berhasil s
atau nilai yang tidak terdefinisi pada kegagalan.
Mengembalikan
true
jika s
berhasil diurai; jika tidak, false
.
Berlaku untuk
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mencoba mengurai rentang karakter UTF-8 menjadi nilai.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Rentang karakter UTF-8 untuk diurai.
- style
- NumberStyles
Kombinasi bitwise gaya angka yang dapat ada di utf8Text
.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang utf8Text
.
- result
- Byte
Saat kembali, berisi hasil dari penguraian yang berhasil utf8Text
atau nilai yang tidak terdefinisi pada kegagalan.
Mengembalikan
true
jika utf8Text
berhasil diurai; jika tidak, false
.
Berlaku untuk
TryParse(ReadOnlySpan<Byte>, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mencoba mengonversi rentang karakter UTF-8 yang berisi representasi string angka ke setara dengan bilangan bulat 8-bit yang tidak ditandatangani.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse (ReadOnlySpan<byte> utf8Text, out byte result);
static member TryParse : ReadOnlySpan<byte> * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As Byte) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Rentang yang berisi karakter UTF-8 yang mewakili angka yang akan dikonversi.
- result
- Byte
Ketika metode ini kembali, berisi nilai bilangan bulat 8-bit yang tidak ditandatangani yang setara dengan angka yang terkandung dalam utf8Text
jika konversi berhasil, atau nol jika konversi gagal. Parameter ini diteruskan tanpa diinisialisasi; nilai apa pun yang awalnya disediakan dalam hasil akan ditimpa.
Mengembalikan
true
jika utf8Text
berhasil dikonversi; jika tidak, false
.
Berlaku untuk
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mengonversi representasi rentang angka dalam gaya tertentu dan format khusus budaya menjadi Byte setara. Nilai yang dikembalikan menunjukkan apakah konversi berhasil atau gagal.
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result);
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out byte result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Rentang yang berisi karakter yang mewakili angka yang akan dikonversi. Rentang ditafsirkan menggunakan Integer gaya .
- style
- NumberStyles
Kombinasi bitwise dari nilai enumerasi yang menunjukkan elemen gaya yang dapat ada di s
. Nilai umum yang ditentukan adalah Integer.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya tentang s
. Jika provider
adalah null
, budaya utas saat ini digunakan.
- result
- Byte
Ketika metode ini kembali, berisi nilai bilangan bulat 8-bit yang tidak ditandatangani yang setara dengan angka yang terkandung dalam s
jika konversi berhasil, atau nol jika konversi gagal. Konversi gagal jika s
parameter adalah null
atau Empty, bukan format yang benar, atau mewakili angka yang kurang dari Byte.MinValue atau lebih besar dari Byte.MaxValue. Parameter ini diteruskan tanpa diinisialisasi; nilai apa pun yang awalnya disediakan result
akan ditimpa.
Mengembalikan
true
jika s
berhasil dikonversi; jika tidak, false
.
Berlaku untuk
TryParse(String, NumberStyles, IFormatProvider, Byte)
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
- Sumber:
- Byte.cs
Mengonversi representasi string angka dalam gaya tertentu dan format khusus budaya menjadi Byte setara. Nilai yang dikembalikan menunjukkan apakah konversi berhasil atau gagal.
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out byte result);
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parameter
- s
- String
String yang berisi angka yang akan dikonversi. String ditafsirkan menggunakan gaya yang ditentukan oleh style
.
- style
- NumberStyles
Kombinasi bitwise dari nilai enumerasi yang menunjukkan elemen gaya yang dapat ada di s
. Nilai umum yang ditentukan adalah Integer.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya tentang s
. Jika provider
adalah null
, budaya utas saat ini digunakan.
- result
- Byte
Ketika metode ini kembali, berisi nilai bilangan bulat 8-bit yang tidak ditandatangani yang setara dengan angka yang terkandung dalam s
jika konversi berhasil, atau nol jika konversi gagal. Konversi gagal jika s
parameter adalah null
atau Empty, bukan format yang benar, atau mewakili angka yang kurang dari Byte.MinValue atau lebih besar dari Byte.MaxValue. Parameter ini diteruskan tanpa diinisialisasi; nilai apa pun yang awalnya disediakan result
akan ditimpa.
Mengembalikan
true
jika s
berhasil dikonversi; jika tidak, false
.
Pengecualian
style
bukan nilai NumberStyles .
-atau-
style
bukan kombinasi nilai AllowHexSpecifier dan HexNumber .
Contoh
Contoh berikut memanggil TryParse(String, NumberStyles, IFormatProvider, Byte) metode dengan sejumlah nilai string yang berbeda.
using namespace System;
using namespace System::Globalization;
void CallTryParse(String^ byteString, NumberStyles styles);
void main()
{
String^ byteString;
NumberStyles styles;
byteString = "1024";
styles = NumberStyles::Integer;
CallTryParse(byteString, styles);
byteString = "100.1";
styles = NumberStyles::Integer | NumberStyles::AllowDecimalPoint;
CallTryParse(byteString, styles);
byteString = "100.0";
CallTryParse(byteString, styles);
byteString = "+100";
styles = NumberStyles::Integer | NumberStyles::AllowLeadingSign
| NumberStyles::AllowTrailingSign;
CallTryParse(byteString, styles);
byteString = "-100";
CallTryParse(byteString, styles);
byteString = "000000000000000100";
CallTryParse(byteString, styles);
byteString = "00,100";
styles = NumberStyles::Integer | NumberStyles::AllowThousands;
CallTryParse(byteString, styles);
byteString = "2E+3 ";
styles = NumberStyles::Integer | NumberStyles::AllowExponent;
CallTryParse(byteString, styles);
byteString = "FF";
styles = NumberStyles::HexNumber;
CallTryParse(byteString, styles);
byteString = "0x1F";
CallTryParse(byteString, styles);
}
void CallTryParse(String^ stringToConvert, NumberStyles styles)
{
Byte byteValue;
bool result = Byte::TryParse(stringToConvert, styles,
(IFormatProvider^) nullptr , byteValue);
if (result)
Console::WriteLine("Converted '{0}' to {1}",
stringToConvert, byteValue);
else
Console::WriteLine("Attempted conversion of '{0}' failed.",
stringToConvert);
}
// The example displays the following output:
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100.0' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Converted '00,100' to 100
// Attempted conversion of '2E+3 ' failed.
// Converted 'FF' to 255
// Attempted conversion of '0x1F' failed.}
using System;
using System.Globalization;
public class ByteConversion2
{
public static void Main()
{
string byteString;
NumberStyles styles;
byteString = "1024";
styles = NumberStyles.Integer;
CallTryParse(byteString, styles);
byteString = "100.1";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(byteString, styles);
byteString = "100.0";
CallTryParse(byteString, styles);
byteString = "+100";
styles = NumberStyles.Integer | NumberStyles.AllowLeadingSign
| NumberStyles.AllowTrailingSign;
CallTryParse(byteString, styles);
byteString = "-100";
CallTryParse(byteString, styles);
byteString = "000000000000000100";
CallTryParse(byteString, styles);
byteString = "00,100";
styles = NumberStyles.Integer | NumberStyles.AllowThousands;
CallTryParse(byteString, styles);
byteString = "2E+3 ";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(byteString, styles);
byteString = "FF";
styles = NumberStyles.HexNumber;
CallTryParse(byteString, styles);
byteString = "0x1F";
CallTryParse(byteString, styles);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
Byte byteValue;
bool result = Byte.TryParse(stringToConvert, styles,
null as IFormatProvider, out byteValue);
if (result)
Console.WriteLine("Converted '{0}' to {1}",
stringToConvert, byteValue);
else
Console.WriteLine("Attempted conversion of '{0}' failed.",
stringToConvert.ToString());
}
}
// The example displays the following output to the console:
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100.0' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Converted '00,100' to 100
// Attempted conversion of '2E+3 ' failed.
// Converted 'FF' to 255
// Attempted conversion of '0x1F' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) (styles: NumberStyles) =
match Byte.TryParse(stringToConvert, styles, null) with
| true, byteValue ->
printfn $"Converted '{stringToConvert}' to {byteValue}"
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
[<EntryPoint>]
let main _ =
let byteString = "1024"
let styles = NumberStyles.Integer
callTryParse byteString styles
let byteString = "100.1"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse byteString styles
let byteString = "100.0"
callTryParse byteString styles
let byteString = "+100"
let styles = NumberStyles.Integer ||| NumberStyles.AllowLeadingSign ||| NumberStyles.AllowTrailingSign
callTryParse byteString styles
let byteString = "-100"
callTryParse byteString styles
let byteString = "000000000000000100"
callTryParse byteString styles
let byteString = "00,100"
let styles = NumberStyles.Integer ||| NumberStyles.AllowThousands
callTryParse byteString styles
let byteString = "2E+3 "
let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
callTryParse byteString styles
let byteString = "FF"
let styles = NumberStyles.HexNumber
callTryParse byteString styles
let byteString = "0x1F"
callTryParse byteString styles
0
// The example displays the following output to the console:
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100.0' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Converted '00,100' to 100
// Attempted conversion of '2E+3 ' failed.
// Converted 'FF' to 255
// Attempted conversion of '0x1F' failed.
Imports System.Globalization
Module ByteConversion2
Public Sub Main()
Dim byteString As String
Dim styles As NumberStyles
byteString = "1024"
styles = NumberStyles.Integer
CallTryParse(byteString, styles)
byteString = "100.1"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(byteString, styles)
byteString = "100.0"
CallTryParse(byteString, styles)
byteString = "+100"
styles = NumberStyles.Integer Or NumberStyles.AllowLeadingSign _
Or NumberStyles.AllowTrailingSign
CallTryParse(byteString, styles)
byteString = "-100"
CallTryParse(byteString, styles)
byteString = "000000000000000100"
CallTryParse(byteString, styles)
byteString = "00,100"
styles = NumberStyles.Integer Or NumberStyles.AllowThousands
CallTryParse(byteString, styles)
byteString = "2E+3 "
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(byteString, styles)
byteString = "FF"
styles = NumberStyles.HexNumber
CallTryParse(byteString, styles)
byteString = "0x1F"
CallTryParse(byteString, styles)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles As NumberStyles)
Dim byteValue As Byte
Dim result As Boolean = Byte.TryParse(stringToConvert, styles, Nothing, _
byteValue)
If result Then
Console.WriteLine("Converted '{0}' to {1}", _
stringToConvert, byteValue)
Else
If stringToConvert Is Nothing Then stringToConvert = ""
Console.WriteLine("Attempted conversion of '{0}' failed.", _
stringToConvert.ToString())
End If
End Sub
End Module
' The example displays the following output to the console:
' Attempted conversion of '1024' failed.
' Attempted conversion of '100.1' failed.
' Converted '100.0' to 100
' Converted '+100' to 100
' Attempted conversion of '-100' failed.
' Converted '000000000000000100' to 100
' Converted '00,100' to 100
' Attempted conversion of '2E+3 ' failed.
' Converted 'FF' to 255
' Attempted conversion of '0x1F' failed.
Keterangan
Metode TryParse ini seperti Parse metode , kecuali TryParse metode tidak memberikan pengecualian jika konversi gagal.
Parameter s
diurai menggunakan informasi pemformatan dalam objek yang NumberFormatInfo disediakan oleh provider
parameter .
Parameter gaya menentukan elemen gaya (seperti spasi kosong atau tanda positif) yang diizinkan dalam s
parameter agar operasi penguraian berhasil. Ini harus berupa kombinasi bendera bit dari NumberStyles enumerasi. Bergantung pada nilai style
, s
parameter dapat mencakup elemen berikut:
[ws] [$] [sign]digits[.fractional_digits][e[sign]digits][ws]
Atau, jika style
parameter mencakup AllowHexSpecifier:
[ws]hexdigits[ws]
Elemen dalam tanda kurung siku ( [ dan ] ) bersifat opsional. Tabel berikut ini menjelaskan setiap elemen.
Elemen | Deskripsi |
---|---|
Ws | Spasi kosong opsional. Spasi kosong dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingWhite bendera, atau di akhir s jika gaya menyertakan NumberStyles.AllowTrailingWhite bendera. |
$ | Simbol mata uang khusus budaya. Posisinya dalam string didefinisikan oleh NumberFormatInfo.CurrencyPositivePattern properti objek yang NumberFormatInfo dikembalikan oleh GetFormat metode provider parameter . Simbol mata uang dapat muncul jika s style menyertakan NumberStyles.AllowCurrencySymbol bendera. |
sign | Tanda positif opsional. (Operasi penguraian gagal jika tanda negatif ada di s .) Tanda dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingSign bendera, atau di akhir s jika style menyertakan NumberStyles.AllowTrailingSign bendera. |
Digit | Urutan digit dari 0 hingga 9. |
. | Simbol titik desimal khusus budaya. Simbol titik desimal dari budaya yang ditentukan oleh provider dapat muncul jika s style menyertakan NumberStyles.AllowDecimalPoint bendera. |
fractional_digits | Satu atau beberapa kemunculan digit 0. Digit pecahan dapat muncul s hanya jika style menyertakan NumberStyles.AllowDecimalPoint bendera. |
e | Karakter e atau E, yang menunjukkan bahwa nilai diwakili dalam notasi eksponensial. Parameter s dapat mewakili angka dalam notasi eksponensial jika style menyertakan NumberStyles.AllowExponent bendera . |
hexdigits | Urutan digit heksadesimal dari 0 hingga f, atau 0 hingga F. |
Catatan
Karakter NUL (U+0000) s
yang mengakhiri akan diabaikan oleh operasi penguraian, terlepas dari style
nilai argumen.
String dengan digit desimal saja (yang sesuai dengan NumberStyles.None gaya) selalu berhasil diurai. Sebagian besar elemen kontrol anggota yang tersisa NumberStyles yang mungkin tetapi tidak diperlukan untuk hadir dalam string input ini. Tabel berikut menunjukkan bagaimana anggota individu NumberStyles memengaruhi elemen yang mungkin ada di s
.
Nilai NumberStyles non-komposit | Elemen yang diizinkan dalam s selain digit |
---|---|
NumberStyles.None | Digit desimal saja. |
NumberStyles.AllowDecimalPoint | Elemen . dan fractional_digits . Namun, fractional_digits harus hanya terdiri dari satu atau lebih 0 digit atau metode mengembalikan false . |
NumberStyles.AllowExponent | Parameter s juga dapat menggunakan notasi eksponensial. Jika s mewakili angka dalam notasi eksponensial, angka tersebut harus mewakili bilangan Byte bulat dalam rentang jenis data tanpa komponen pecahan bukan nol. |
NumberStyles.AllowLeadingWhite | Elemen ws di awal s . |
NumberStyles.AllowTrailingWhite | Elemen ws di akhir s . |
NumberStyles.AllowLeadingSign | Tanda positif dapat muncul sebelum digit. |
NumberStyles.AllowTrailingSign | Tanda positif dapat muncul setelah digit. |
NumberStyles.AllowParentheses | Meskipun bendera ini didukung, metode mengembalikan false jika tanda kurung ada di s . |
NumberStyles.AllowThousands | Meskipun simbol pemisah grup dapat muncul di s , simbol pemisah grup hanya dapat didahului oleh satu atau lebih 0 digit. |
NumberStyles.AllowCurrencySymbol | Elemen .$ |
NumberStyles.AllowHexSpecifier Jika bendera digunakan, s
harus berupa nilai heksadesimal tanpa awalan. Misalnya, "F3" berhasil diurai, tetapi "0xF3" tidak. Satu-satunya bendera lain yang dapat hadir adalah style
NumberStyles.AllowLeadingWhite dan NumberStyles.AllowTrailingWhite. (Enumerasi NumberStyles memiliki gaya angka komposit, NumberStyles.HexNumber, yang mencakup kedua bendera spasi putih.)
Parameter provider
adalah IFormatProvider implementasi, seperti CultureInfo objek atau NumberFormatInfo objek, yang metodenya GetFormat mengembalikan NumberFormatInfo objek. Objek menyediakan NumberFormatInfo informasi khusus budaya tentang format s
.
Lihat juga
- ToString()
- MaxValue
- MinValue
- NumberStyles
- NumberFormatInfo
- IFormatProvider
- Mengurai String Numerik di .NET