Byte.TryParse Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir sayının dize gösterimini eşdeğerine Byte dönüştürmeye çalışır ve dönüştürmenin başarılı olup olmadığını gösteren bir değer döndürür.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır. |
| TryParse(ReadOnlySpan<Char>, Byte) |
Bir sayının span gösterimini eşdeğerine Byte dönüştürmeye çalışır ve dönüştürmenin başarılı olup olmadığını gösteren bir değer döndürür. |
| TryParse(String, Byte) |
Bir sayının dize gösterimini eşdeğerine Byte dönüştürmeye çalışır ve dönüştürmenin başarılı olup olmadığını gösteren bir değer döndürür. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte) |
Bir karakter aralığını bir değere ayrıştırmaya çalışır. |
| TryParse(String, IFormatProvider, Byte) |
Bir dizeyi bir değere ayrıştırmaya çalışır. |
| TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Byte) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır. |
| TryParse(ReadOnlySpan<Byte>, Byte) |
Bir sayının dize gösterimini içeren UTF-8 karakter aralığını 8 bit işaretsiz tamsayı eşdeğerine dönüştürmeye çalışır. |
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte) |
Belirli bir stilde ve kültüre özgü biçimdeki bir sayının span gösterimini eşdeğerine Byte dönüştürür. Dönüş değeri, dönüştürmenin başarılı mı yoksa başarısız mı olduğunu gösterir. |
| TryParse(String, NumberStyles, IFormatProvider, Byte) |
Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini eşdeğerine Byte dönüştürür. Dönüş değeri, dönüştürmenin başarılı mı yoksa başarısız mı olduğunu gösterir. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır.
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
Parametreler
- utf8Text
- ReadOnlySpan<Byte>
Ayrıştırılacak UTF-8 karakter aralığı.
- provider
- IFormatProvider
hakkında utf8Textkültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
- result
- Byte
Sonuç olarak, başarıyla ayrıştırma utf8Text işleminin sonucunu veya hatada tanımlanmamış bir değeri içerir.
Döndürülenler
true başarıyla ayrıştırıldıysa utf8Text ; değilse, false.
Şunlara uygulanır
TryParse(ReadOnlySpan<Char>, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
Bir sayının span gösterimini eşdeğerine Byte dönüştürmeye çalışır ve dönüştürmenin başarılı olup olmadığını gösteren bir değer döndürür.
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
Parametreler
- s
- ReadOnlySpan<Char>
Dönüştürülecek sayıyı temsil eden karakterleri içeren bir yayılma alanı.
- result
- Byte
Bu yöntem döndürdüğünde Bytes , dönüştürme başarılı olursa içinde bulunan sayının eşdeğerini veya dönüştürme başarısız olursa sıfır değerini içerir. Bu parametre başlatılmamış olarak geçirilir; başlangıçta verilen result tüm değerlerin üzerine yazılır.
Döndürülenler
true başarıyla dönüştürüldüyse s ; aksi takdirde , false.
Şunlara uygulanır
TryParse(String, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
Bir sayının dize gösterimini eşdeğerine Byte dönüştürmeye çalışır ve dönüştürmenin başarılı olup olmadığını gösteren bir değer döndürür.
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
Parametreler
- s
- String
Dönüştürülecek bir sayı içeren dize.
- result
- Byte
Bu yöntem döndürdüğünde Bytes , dönüştürme başarılı olursa içinde bulunan sayının eşdeğerini veya dönüştürme başarısız olursa sıfır değerini içerir. Bu parametre başlatılmamış olarak geçirilir; başlangıçta verilen result tüm değerlerin üzerine yazılır.
Döndürülenler
true başarıyla dönüştürüldüyse s ; aksi takdirde , false.
Örnekler
Aşağıdaki örnek, bir dizi farklı dize değeriyle yöntemini çağırır TryParse(String, Byte) .
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.
Açıklamalar
Dönüştürme başarısız olur ve parametre doğru biçimde değilse, veya veya değerinden küçük MinValue veya daha MaxValuebüyük bir sayıyı temsil ederse yöntemi döndürürfalse.String.Emptynulls
Byte.TryParse(String, Byte) yöntemi yöntemine Byte.Parse(String) benzer, ancak TryParse(String, Byte) dönüştürme başarısız olursa bir özel durum oluşturmaz.
parametresi, s aşağıdaki biçimdeki bir sayının dize gösterimi olmalıdır:
[ws][sign]digits[ws]
Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.
| Öğe | Açıklama |
|---|---|
| Ws | İsteğe bağlı boşluk. |
| imza | Geçerli kültürün NumberFormatInfo.PositiveSign özelliği tarafından belirtilen isteğe bağlı pozitif bir işaret. |
| Basamak | 0 ile 9 arasında bir ondalık basamak dizisi. |
s parametresi stil kullanılarak Integer yorumlanır. Bayt değerinin ondalık basamaklarına ek olarak, yalnızca baştaki ve sondaki boşluklara, baştaki işaretle birlikte izin verilir. (İşaret varsa, pozitif bir işaret olmalıdır veya yöntem bir OverflowExceptionoluşturur.) stil öğelerini içinde bulunabilecek skültüre özgü biçimlendirme bilgileriyle birlikte açıkça tanımlamak için yöntemini kullanın Byte.Parse(String, NumberStyles, IFormatProvider) .
s parametresi, geçerli kültür için bir NumberFormatInfo nesnedeki biçimlendirme bilgileri kullanılarak ayrıştırılır. Daha fazla bilgi için bkz. NumberFormatInfo.CurrentInfo.
yönteminin Byte.TryParse(String, Byte) bu aşırı yüklemesi, parametredeki s tüm basamakları ondalık basamaklar olarak yorumlar. Onaltılık bir sayının dize gösterimini ayrıştırmak için aşırı yüklemeyi çağırın Byte.TryParse(String, NumberStyles, IFormatProvider, Byte) .
Ayrıca bkz.
- Örnek: .NET Core WinForms Biçimlendirme Yardımcı Programı (C#)
- Örnek: .NET Core WinForms Biçimlendirme Yardımcı Programı (Visual Basic)
Şunlara uygulanır
TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
Bir karakter aralığını bir değere ayrıştırmaya çalışır.
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
Parametreler
- s
- ReadOnlySpan<Char>
Ayrıştırılacak karakterlerin yayılma alanı.
- provider
- IFormatProvider
hakkında skültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
- result
- Byte
Bu yöntem döndürdüğünde, başarıyla ayrıştırma sişleminin sonucunu veya hatada tanımlanmamış bir değeri içerir.
Döndürülenler
true başarıyla ayrıştırıldıysa s ; değilse, false.
Şunlara uygulanır
TryParse(String, IFormatProvider, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
Bir dizeyi bir değere ayrıştırmaya çalışır.
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
Parametreler
- s
- String
Ayrıştırmak için dize.
- provider
- IFormatProvider
hakkında skültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
- result
- Byte
Bu yöntem döndürdüğünde, başarıyla ayrıştırma s işleminin sonucunu veya hatada tanımlanmamış bir değeri içerir.
Döndürülenler
true başarıyla ayrıştırıldıysa s ; değilse, false.
Şunlara uygulanır
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır.
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
Parametreler
- utf8Text
- ReadOnlySpan<Byte>
Ayrıştırılacak UTF-8 karakter aralığı.
- style
- NumberStyles
içinde utf8Textbulunabilecek sayı stillerinin bit düzeyinde birleşimi.
- provider
- IFormatProvider
hakkında utf8Textkültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
- result
- Byte
Sonuç olarak, başarıyla ayrıştırma utf8Text işleminin sonucunu veya hatada tanımlanmamış bir değeri içerir.
Döndürülenler
true başarıyla ayrıştırıldıysa utf8Text ; değilse, false.
Şunlara uygulanır
TryParse(ReadOnlySpan<Byte>, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
Bir sayının dize gösterimini içeren UTF-8 karakter aralığını 8 bit işaretsiz tamsayı eşdeğerine dönüştürmeye çalışır.
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
Parametreler
- utf8Text
- ReadOnlySpan<Byte>
Dönüştürülecek sayıyı temsil eden UTF-8 karakterlerini içeren bir yayılma alanı.
- result
- Byte
Bu yöntem döndürdüğünde, dönüştürme başarılı olursa içindeki sayıya utf8Text eşdeğer 8 bit işaretsiz tamsayı değerini veya dönüştürme başarısız olursa sıfırı içerir. Bu parametre başlatılmamış olarak geçirilir; başlangıçta sonuçta sağlanan tüm değerlerin üzerine yazılır.
Döndürülenler
true başarıyla dönüştürüldüyse utf8Text ; aksi takdirde , false.
Şunlara uygulanır
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
Belirli bir stilde ve kültüre özgü biçimdeki bir sayının span gösterimini eşdeğerine Byte dönüştürür. Dönüş değeri, dönüştürmenin başarılı mı yoksa başarısız mı olduğunu gösterir.
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, [Runtime::InteropServices::Out] System::Byte % result);
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
Parametreler
- s
- ReadOnlySpan<Char>
Dönüştürülecek sayıyı temsil eden karakterleri içeren bir yayılma alanı. Span, stil kullanılarak Integer yorumlanır.
- style
- NumberStyles
içinde sbulunabilecek stil öğelerini gösteren sabit listesi değerlerinin bit düzeyinde birleşimi. Belirtilmesi gereken tipik bir değerdir Integer.
- provider
- IFormatProvider
hakkında skültüre özgü biçimlendirme bilgileri sağlayan bir nesne. ise providernull, iş parçacığı geçerli kültürü kullanılır.
- result
- Byte
Bu yöntem döndürdüğünde, dönüştürme başarılı olursa içindeki sayıya s eşdeğer 8 bit işaretsiz tamsayı değerini veya dönüştürme başarısız olursa sıfırı içerir. Parametresi null veya Emptyveya doğru biçimde değilse s veya Byte.MinValue değerinden küçük veya Byte.MaxValue değerinden büyük bir sayıyı temsil ederse dönüştürme başarısız olur. Bu parametre başlatılmamış olarak geçirilir; başlangıçta verilen result tüm değerlerin üzerine yazılır.
Döndürülenler
true başarıyla dönüştürüldüyse s ; aksi takdirde , false.
Şunlara uygulanır
TryParse(String, NumberStyles, IFormatProvider, Byte)
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
- Kaynak:
- Byte.cs
Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini eşdeğerine Byte dönüştürür. Dönüş değeri, dönüştürmenin başarılı mı yoksa başarısız mı olduğunu gösterir.
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
Parametreler
- s
- String
Dönüştürülecek bir sayı içeren dize. Dize, tarafından stylebelirtilen stil kullanılarak yorumlanır.
- style
- NumberStyles
içinde sbulunabilecek stil öğelerini gösteren sabit listesi değerlerinin bit düzeyinde birleşimi. Belirtilmesi gereken tipik bir değerdir Integer.
- provider
- IFormatProvider
hakkında skültüre özgü biçimlendirme bilgileri sağlayan bir nesne. ise providernull, iş parçacığı geçerli kültürü kullanılır.
- result
- Byte
Bu yöntem döndürdüğünde, dönüştürme başarılı olursa içindeki sayıya s eşdeğer 8 bit işaretsiz tamsayı değerini veya dönüştürme başarısız olursa sıfırı içerir. Parametresi null veya Emptyveya doğru biçimde değilse s veya Byte.MinValue değerinden küçük veya Byte.MaxValue değerinden büyük bir sayıyı temsil ederse dönüştürme başarısız olur. Bu parametre başlatılmamış olarak geçirilir; başlangıçta verilen result tüm değerlerin üzerine yazılır.
Döndürülenler
true başarıyla dönüştürüldüyse s ; aksi takdirde , false.
Özel durumlar
style bir NumberStyles değer değildir.
-veya-
styleve HexNumber değerlerinin AllowHexSpecifier birleşimi değildir.
Örnekler
Aşağıdaki örnek, bir dizi farklı dize değeriyle yöntemini çağırır TryParse(String, NumberStyles, IFormatProvider, Byte) .
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.
Açıklamalar
TryParse yöntemi yöntemine Parse benzer, ancak TryParse dönüştürme başarısız olursa yöntemi özel durum oluşturmaz.
s parametresi, parametresi tarafından provider sağlanan bir NumberFormatInfo nesnedeki biçimlendirme bilgileri kullanılarak ayrıştırılır.
stil parametresi, ayrıştırma işleminin başarılı olması için parametresinde s izin verilen stil öğelerini (boşluk veya pozitif işaret gibi) tanımlar. Numaralandırmadaki NumberStyles bit bayraklarının bir bileşimi olmalıdır. değerine styles bağlı olarak parametresi aşağıdaki öğeleri içerebilir:
[ws][$][sign]digits[.fractional_digits][e[sign]digits][ws]
Veya parametresi şunu style içeriyorsa AllowHexSpecifier:
[ws]hexdigits[ws]
Köşeli ayraç içindeki öğeler ( [ ve ] ) isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.
| Öğe | Açıklama |
|---|---|
| Ws | İsteğe bağlı boşluk. Boşluk, bayrağı içeriyorsa başında veya stili bayrağı içeriyorsa NumberStyles.AllowTrailingWhite s'nin sonunda görüntülenebilir sstyle.NumberStyles.AllowLeadingWhite |
| $ | Kültüre özgü para birimi simgesi. Dizedeki konumu, parametresinin yöntemi NumberFormatInfo.CurrencyPositivePattern tarafından döndürülen nesnenin özelliğiyle NumberFormatInfoGetFormat tanımlanırprovider. Bayrağı içeriyorsa s para birimi simgesi içinde styleNumberStyles.AllowCurrencySymbol görüntülenebilir. |
| imza | İsteğe bağlı pozitif bir işaret. (içinde negatif bir işaret svarsa ayrıştırma işlemi başarısız olur.) İşaret, bayrağın eklenip eklenmediğinin başında veya bayrağın dahil olup olmadığının sNumberStyles.AllowTrailingSignstyle sonunda görünebilir.sstyleNumberStyles.AllowLeadingSign |
| Basamak | 0 ile 9 arasında bir basamak dizisi. |
| . | Kültüre özgü ondalık nokta simgesi. bayrağını içeriyorsaprovider, tarafından s belirtilen kültürün ondalık nokta simgesi içinde styleNumberStyles.AllowDecimalPoint görüntülenebilir. |
| fractional_digits | 0 rakamının bir veya daha fazla tekrarı. Kesirli basamaklar yalnızca s bayrağı içeriyorsa style içinde görüntülenebilirNumberStyles.AllowDecimalPoint. |
| e | Değerin üstel gösterimde temsil olduğunu gösteren e veya E karakteri. parametresi, s bayrağını içeriyorsa üstel gösterimde style bir sayıyı NumberStyles.AllowExponent temsil edebilir. |
| hexdigits | 0'dan f'ye veya 0'dan F'ye kadar onaltılık basamak dizisi. |
Uyarı
içindeki s sonlandırıcı NUL (U+0000) karakterleri, bağımsız değişkenin değerinden style bağımsız olarak ayrıştırma işlemi tarafından yoksayılır.
Yalnızca ondalık basamağı olan bir dize (stile NumberStyles.None karşılık gelir) her zaman başarıyla ayrıştırılıyor. Kalan NumberStyles üyelerin çoğu, bu giriş dizesinde mevcut olması gerekmeyen öğeleri denetler. Aşağıdaki tablo, tek tek NumberStyles üyelerin içinde sbulunabilecek öğeleri nasıl etkilediğini gösterir.
| Bileşik olmayan NumberStyles değerleri | Basamaklara ek olarak s içinde izin verilen öğeler |
|---|---|
| NumberStyles.None | Yalnızca ondalık basamaklar. |
| NumberStyles.AllowDecimalPoint |
. ve fractional_digits öğeleri. Ancak , fractional_digits yalnızca bir veya daha fazla 0 basamak içermelidir veya yöntemi döndürür false. |
| NumberStyles.AllowExponent | parametresi üstel s gösterim de kullanabilir.
s Üstel gösterimdeki bir sayıyı temsil ederse, sıfır olmayan kesirli bileşen olmadan veri türü aralığındaki Byte bir tamsayıyı temsil etmelidir. |
| NumberStyles.AllowLeadingWhite | başındaki sws öğesi. |
| NumberStyles.AllowTrailingWhite | sonundaki s öğesi. |
| NumberStyles.AllowLeadingSign | Basamakların önüne pozitif bir işaret gelebilir. |
| NumberStyles.AllowTrailingSign | Basamakların ardından pozitif bir işaret görünebilir. |
| NumberStyles.AllowParentheses | Bu bayrak destekleniyor olsa da, yöntemi içinde parantezler varsa sdöndürürfalse. |
| NumberStyles.AllowThousands | Içinde grup ayırıcı simgesi görünse de s, önünde yalnızca bir veya daha fazla 0 basamak olabilir. |
| NumberStyles.AllowCurrencySymbol | $ öğesi. |
NumberStyles.AllowHexSpecifier Bayrağı kullanılıyorsa, s ön ek olmadan onaltılık bir değer olmalıdır. Örneğin, "F3" başarıyla ayrıştırıyor, ancak "0xF3" ayrıştırmıyor. içinde style bulunabilecek diğer bayraklar yalnızca ve NumberStyles.AllowLeadingWhite'tirNumberStyles.AllowTrailingWhite. (Numaralandırma, NumberStyles her iki boşluk bayrağını da içeren bileşik bir sayı stiline NumberStyles.HexNumbersahiptir.)
provider parametresi, yöntemi nesne döndüren GetFormat bir CultureInfoNumberFormatInfo nesne veya nesne gibi bir NumberFormatInfo uygulamadırIFormatProvider. nesnesi, NumberFormatInfo biçimi shakkında kültüre özgü bilgiler sağlar.
Ayrıca bkz.
- ToString()
- MaxValue
- MinValue
- NumberStyles
- NumberFormatInfo
- IFormatProvider
- .NET'te Sayısal Dizeleri Ayrıştırma