UInt16.Parse Yöntem

Tanım

Bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

Aşırı Yüklemeler

Parse(String, NumberStyles, IFormatProvider)

Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Bir sayının belirtilen stil ve kültüre özgü biçimdeki span gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor.

Parse(String, IFormatProvider)

Belirli bir kültüre özgü biçimdeki bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

Parse(String, NumberStyles)

Belirtilen stildeki bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

Bu yöntem CLS uyumlu değildir. CLS uyumlu alternatif Parse(String, NumberStyles).

Parse(ReadOnlySpan<Char>, IFormatProvider)

Bir karakter aralığını bir değere ayrıştırıyor.

Parse(ReadOnlySpan<Byte>, IFormatProvider)

UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor.

Parse(String)

Bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

Parse(String, NumberStyles, IFormatProvider)

Kaynak:
UInt16.cs
Kaynak:
UInt16.cs
Kaynak:
UInt16.cs

Önemli

Bu API, CLS uyumlu değildir.

CLS uyumlu alternatif
System.Int32.Parse(String)

Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

public:
 static System::UInt16 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
 static System::UInt16 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<System::UInt16>::Parse;
[System.CLSCompliant(false)]
public static ushort Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static ushort Parse (string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
[System.CLSCompliant(false)]
public static ushort Parse (string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint16
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint16
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As UShort

Parametreler

s
String

Dönüştürülecek sayıyı temsil eden dize. Dize, style parametresi tarafından belirtilen stil kullanılarak yorumlanır.

style
NumberStyles

s'de bulunabilecek stil öğelerini gösteren sabit listesi değerlerinin bit düzeyinde birleşimi. Belirtilmesi gereken tipik bir değer Integer.

provider
IFormatProvider

shakkında kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.

Döndürülenler

siçinde belirtilen sayıya eşdeğer 16 bit işaretsiz tamsayı.

Uygulamalar

Öznitelikler

Özel durumlar

style NumberStyles bir değer değildir.

-veya-

style, AllowHexSpecifier ve HexNumber değerlerinin birleşimi değildir.

s, styleile uyumlu bir biçimde değil.

s UInt16.MinValue veya UInt16.MaxValue'den büyük bir sayıyı temsil eder.

-veya-

s sıfır olmayan kesirli basamaklar içerir.

Örnekler

Aşağıdaki örnek, sayıların çeşitli dize gösterimlerini 16 bit işaretsiz tamsayı değerlerine dönüştürmek için Parse(String, NumberStyles, IFormatProvider) yöntemini kullanır.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] cultureNames = { "en-US", "fr-FR" };
      NumberStyles[] styles= { NumberStyles.Integer, 
                               NumberStyles.Integer | NumberStyles.AllowDecimalPoint };
      string[] values = { "1702", "+1702.0", "+1702,0", "-1032.00",
                          "-1032,00", "1045.1", "1045,1" };
      
      // Parse strings using each culture
      foreach (string cultureName in cultureNames)
      {
         CultureInfo ci = new CultureInfo(cultureName);
         Console.WriteLine("Parsing strings using the {0} culture", 
                           ci.DisplayName);
         // Use each style.
         foreach (NumberStyles style in styles)
         {
            Console.WriteLine("   Style: {0}", style.ToString());
            // Parse each numeric string.
            foreach (string value in values)
            {
               try {
                  Console.WriteLine("      Converted '{0}' to {1}.", value, 
                                    UInt16.Parse(value, style, ci));
               }                                    
               catch (FormatException) {
                  Console.WriteLine("      Unable to parse '{0}'.", value);   
               }
               catch (OverflowException) {
                  Console.WriteLine("      '{0}' is out of range of the UInt16 type.", 
                                    value);
               }
            }
         }
      }   
   }
}
// The example displays the following output:
//       Parsing strings using the English (United States) culture
//          Style: Integer
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Unable to parse '+1702,0'.
//             Unable to parse '-1032.00'.
//             Unable to parse '-1032,00'.
//             Unable to parse '1045.1'.
//             Unable to parse '1045,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '1702' to 1702.
//             Converted '+1702.0' to 1702.
//             Unable to parse '+1702,0'.
//             '-1032.00' is out of range of the UInt16 type.
//             Unable to parse '-1032,00'.
//             '1045.1' is out of range of the UInt16 type.
//             Unable to parse '1045,1'.
//       Parsing strings using the French (France) culture
//          Style: Integer
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Unable to parse '+1702,0'.
//             Unable to parse '-1032.00'.
//             Unable to parse '-1032,00'.
//             Unable to parse '1045.1'.
//             Unable to parse '1045,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Converted '+1702,0' to 1702.
//             Unable to parse '-1032.00'.
//             '-1032,00' is out of range of the UInt16 type.
//             Unable to parse '1045.1'.
//             '1045,1' is out of range of the UInt16 type.
open System
open System.Globalization

let cultureNames = [| "en-US"; "fr-FR" |]
let styles = 
    [| NumberStyles.Integer; NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint |]
let values =
    [| "1702"; "+1702.0"; "+1702,0"; "-1032.00"; "-1032,00"; "1045.1"; "1045,1" |]

// Parse strings using each culture
for cultureName in cultureNames do
    let ci = CultureInfo cultureName
    printfn $"Parsing strings using the {ci.DisplayName} culture"
    // Use each style.
    for style in styles do
        printfn $"   Style: {style}"
        // Parse each numeric string.
        for value in values do
            try
                printfn $"      Converted '{value}' to {UInt16.Parse(value, style, ci)}."
            with
            | :? FormatException ->
                printfn $"      Unable to parse '{value}'."
            | :? OverflowException ->
                printfn $"      '{value}' is out of range of the UInt16 type."
// The example displays the following output:
//       Parsing strings using the English (United States) culture
//          Style: Integer
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Unable to parse '+1702,0'.
//             Unable to parse '-1032.00'.
//             Unable to parse '-1032,00'.
//             Unable to parse '1045.1'.
//             Unable to parse '1045,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '1702' to 1702.
//             Converted '+1702.0' to 1702.
//             Unable to parse '+1702,0'.
//             '-1032.00' is out of range of the UInt16 type.
//             Unable to parse '-1032,00'.
//             '1045.1' is out of range of the UInt16 type.
//             Unable to parse '1045,1'.
//       Parsing strings using the French (France) culture
//          Style: Integer
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Unable to parse '+1702,0'.
//             Unable to parse '-1032.00'.
//             Unable to parse '-1032,00'.
//             Unable to parse '1045.1'.
//             Unable to parse '1045,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Converted '+1702,0' to 1702.
//             Unable to parse '-1032.00'.
//             '-1032,00' is out of range of the UInt16 type.
//             Unable to parse '1045.1'.
//             '1045,1' is out of range of the UInt16 type.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "fr-FR" }
      Dim styles() As NumberStyles = { NumberStyles.Integer, _
                                       NumberStyles.Integer Or NumberStyles.AllowDecimalPoint }
      Dim values() As String = { "1702", "+1702.0", "+1702,0", "-1032.00", _
                                 "-1032,00", "1045.1", "1045,1" }
      
      ' Parse strings using each culture
      For Each cultureName As String In cultureNames
         Dim ci As New CultureInfo(cultureName)
         Console.WriteLine("Parsing strings using the {0} culture", ci.DisplayName)
         ' Use each style.
         For Each style As NumberStyles In styles
            Console.WriteLine("   Style: {0}", style.ToString())
            ' Parse each numeric string.
            For Each value As String In values
               Try
                  Console.WriteLine("      Converted '{0}' to {1}.", value, _
                                    UInt16.Parse(value, style, ci))
               Catch e As FormatException
                  Console.WriteLine("      Unable to parse '{0}'.", value)   
               Catch e As OverflowException
                  Console.WriteLine("      '{0}' is out of range of the UInt16 type.", _
                                    value)         
               End Try
            Next
         Next
      Next                                    
   End Sub
End Module
' The example displays the following output:
'       Parsing strings using the English (United States) culture
'          Style: Integer
'             Converted '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Unable to parse '+1702,0'.
'             Unable to parse '-1032.00'.
'             Unable to parse '-1032,00'.
'             Unable to parse '1045.1'.
'             Unable to parse '1045,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '1702' to 1702.
'             Converted '+1702.0' to 1702.
'             Unable to parse '+1702,0'.
'             '-1032.00' is out of range of the UInt16 type.
'             Unable to parse '-1032,00'.
'             '1045.1' is out of range of the UInt16 type.
'             Unable to parse '1045,1'.
'       Parsing strings using the French (France) culture
'          Style: Integer
'             Converted '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Unable to parse '+1702,0'.
'             Unable to parse '-1032.00'.
'             Unable to parse '-1032,00'.
'             Unable to parse '1045.1'.
'             Unable to parse '1045,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Converted '+1702,0' to 1702.
'             Unable to parse '-1032.00'.
'             '-1032,00' is out of range of the UInt16 type.
'             Unable to parse '1045.1'.
'             '1045,1' is out of range of the UInt16 type.

Açıklamalar

style parametresi, ayrıştırma işleminin başarılı olması için s parametresinde izin verilen stil öğelerini (boşluk veya pozitif veya negatif işaret simgesi gibi) tanımlar. NumberStyles numaralandırmasından bit bayraklarının birleşimi olmalıdır.

styledeğerine bağlı olarak, s parametresi aşağıdaki öğeleri içerebilir:

[ws] [$] [sign]basamak[.fractional_digits][E[sign]exponential_digits][ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. style NumberStyles.AllowHexSpecifieriçeriyorsa, s parametresi aşağıdaki öğeleri içerebilir:

[ws]hexdigits[ws]

Aşağıdaki tabloda her öğe açıklanmaktadır.

Öğe Açıklama
ws İsteğe bağlı boşluk. style NumberStyles.AllowLeadingWhite bayrağı içeriyorsa boşluk s başında ve styleNumberStyles.AllowTrailingWhite bayrağı içeriyorsa s sonunda görüntülenebilir.
$ Kültüre özgü para birimi simgesi. Dizedeki konumu, provider parametresinin GetFormat yöntemi tarafından döndürülen NumberFormatInfo nesnesinin CurrencyPositivePattern özelliği tarafından tanımlanır. para birimi simgesi, styleNumberStyles.AllowCurrencySymbol bayrağı içeriyorsa s görünebilir.
imzalama İsteğe bağlı bir işaret. (yöntem, s negatif bir işaret içeriyorsa ve sıfır olmayan bir sayıyı temsil ederse bir OverflowException oluşturur.) İşaret, styleNumberStyles.AllowLeadingSign bayrağı içeriyorsa s başında ve styleNumberStyles.AllowTrailingSign bayrağı içeriyorsa s sonunda görünebilir. style NumberStyles.AllowParentheses bayrağı içeriyorsa, negatif bir değeri belirtmek için s'de parantezler kullanılabilir.
basamak 0 ile 9 arasında bir basamak dizisi.
. Kültüre özgü ondalık nokta simgesi. style NumberStyles.AllowDecimalPoint bayrağı içeriyorsa geçerli kültürün ondalık noktası simgesi s görünebilir.
fractional_digits style NumberStyles.AllowExponent bayrağı içeriyorsa 0-9 basamaklarının bir veya daha fazla tekrarı veya değilse 0 rakamının bir veya daha fazla yinelenme sayısı. Kesirli basamaklar s yalnızca styleNumberStyles.AllowDecimalPoint bayrağı içeriyorsa görüntülenebilir.
E Değerin üstel (bilimsel) gösterimde temsil olduğunu gösteren "e" veya "E" karakteri. s parametresi, styleNumberStyles.AllowExponent bayrağı içeriyorsa, bir sayıyı üstel gösterimde temsil edebilir.
exponential_digits 0 ile 9 arasında bir basamak dizisi. s parametresi, styleNumberStyles.AllowExponent bayrağı içeriyorsa, bir sayıyı üstel gösterimde temsil edebilir.
hexdigits 0'dan f'ye veya 0'dan F'ye kadar onaltılık basamak dizisi.

Not

s sonlandırıcı NUL (U+0000) karakterleri, style bağımsız değişkeninin değerinden bağımsız olarak ayrıştırma işlemi tarafından yoksayılır.

Yalnızca ondalık basamağı olan bir dize (NumberStyles.None stiline karşılık gelir) her zaman başarıyla ayrıştırılıyor. Kalan NumberStyles üyelerinin çoğu, bu giriş dizesinde mevcut olabilecek ancak mevcut olması gerekmeyen öğeleri denetler. Aşağıdaki tablo, tek tek NumberStyles üyelerinin s'de mevcut olabilecek öğeleri nasıl etkilediğini gösterir.

Bileşik olmayan NumberStyles değerleri Basamaklara ek olarak s izin verilen öğeler
NumberStyles.None Yalnızca ondalık basamaklar.
NumberStyles.AllowDecimalPoint Ondalık nokta (.) ve fractional_digits öğeleri. Ancak, stil NumberStyles.AllowExponent bayrağı içermiyorsa, fractional_digits yalnızca bir veya daha fazla 0 basamak içermelidir; aksi takdirde, bir OverflowException oluşturulur.
NumberStyles.AllowExponent exponential_digitsile birlikte üstel gösterimi gösteren "e" veya "E" karakteri.
NumberStyles.AllowLeadingWhite sbaşındaki ws öğesi.
NumberStyles.AllowTrailingWhite ssonundaki ws öğesi.
NumberStyles.AllowLeadingSign basamakönce bir işaret.
NumberStyles.AllowTrailingSign basamak sonrasındaki bir işaret.
NumberStyles.AllowParentheses basamaklardan önce ve sonra ayraçlar, negatif bir değeri göstermek için.
NumberStyles.AllowThousands Grup ayırıcısı (,) öğesi.
NumberStyles.AllowCurrencySymbol Para birimi ($) öğesi.

NumberStyles.AllowHexSpecifier bayrağı kullanılırsa, s onaltılık bir değer olmalıdır. Geçerli onaltılık basamaklar 0- 9, a - f ve A - F arasındadır. "0x" gibi bir ön ek desteklenmez ve ayrıştırma işleminin başarısız olmasına neden olur. NumberStyles.AllowHexSpecifier ile birleştirilebilen diğer bayraklar yalnızca NumberStyles.AllowLeadingWhite ve NumberStyles.AllowTrailingWhite. (NumberStyles numaralandırması, her iki boşluk bayrağını da içeren NumberStyles.HexNumberbileşik bir sayı stili içerir.)

Not

s parametresi onaltılık bir sayının dize gösterimiyse, bu parametreden önce onu onaltılık sayı olarak ayıran herhangi bir süsleme (0x veya &hgibi) bulunamaz. Bu, ayrıştırma işleminin bir özel durum oluşturmasına neden olur.

provider parametresi, GetFormat yöntemi sbiçimi hakkında kültüre özgü bilgiler sağlayan bir NumberFormatInfo nesnesi döndüren IFormatProvider bir uygulamadır. Ayrıştırma işlemine özel biçimlendirme bilgileri sağlamak için provider parametresini kullanmanın üç yolu vardır:

  • Biçimlendirme bilgileri sağlayan gerçek NumberFormatInfo nesnesini geçirebilirsiniz. (GetFormat uygulaması yalnızca kendini döndürür.)

  • Biçimlendirmesi kullanılacak kültürü belirten bir CultureInfo nesnesi geçirebilirsiniz. NumberFormat özelliği biçimlendirme bilgileri sağlar.

  • Özel bir IFormatProvider uygulaması geçirebilirsiniz. GetFormat yöntemi, biçimlendirme bilgileri sağlayan NumberFormatInfo nesnesini örneklemeli ve döndürmelidir.

provider nullise, geçerli kültür için NumberFormatInfo nesnesi kullanılır.

Ayrıca bkz.

Şunlara uygulanır

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Kaynak:
UInt16.cs
Kaynak:
UInt16.cs
Kaynak:
UInt16.cs

Önemli

Bu API, CLS uyumlu değildir.

Bir sayının belirtilen stil ve kültüre özgü biçimdeki span gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

public static ushort Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
[System.CLSCompliant(false)]
public static ushort Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);
[System.CLSCompliant(false)]
public static ushort Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> uint16
[<System.CLSCompliant(false)>]
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> uint16
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As UShort

Parametreler

s
ReadOnlySpan<Char>

Dönüştürülecek sayıyı temsil eden karakterleri içeren bir yayılma alanı. Span, style parametresi tarafından belirtilen stil kullanılarak yorumlanır.

style
NumberStyles

s'de bulunabilecek stil öğelerini gösteren sabit listesi değerlerinin bit düzeyinde birleşimi. Belirtilmesi gereken tipik bir değer Integer.

provider
IFormatProvider

shakkında kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.

Döndürülenler

siçinde belirtilen sayıya eşdeğer 16 bit işaretsiz tamsayı.

Uygulamalar

Öznitelikler

Şunlara uygulanır

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

Kaynak:
UInt16.cs
Kaynak:
UInt16.cs

UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor.

public static ushort Parse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> uint16
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As UShort

Parametreler

utf8Text
ReadOnlySpan<Byte>

Ayrıştırılacak UTF-8 karakter aralığı.

style
NumberStyles

utf8Textiçinde bulunabilecek sayı stillerinin bit düzeyinde birleşimi.

provider
IFormatProvider

utf8Texthakkında kültüre özgü biçimlendirme bilgileri sağlayan nesne.

Döndürülenler

utf8Textayrıştırma sonucu.

Uygulamalar

Şunlara uygulanır

Parse(String, IFormatProvider)

Kaynak:
UInt16.cs
Kaynak:
UInt16.cs
Kaynak:
UInt16.cs

Önemli

Bu API, CLS uyumlu değildir.

CLS uyumlu alternatif
System.Int32.Parse(String)

Belirli bir kültüre özgü biçimdeki bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

public:
 static System::UInt16 Parse(System::String ^ s, IFormatProvider ^ provider);
public:
 static System::UInt16 Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<System::UInt16>::Parse;
[System.CLSCompliant(false)]
public static ushort Parse (string s, IFormatProvider provider);
public static ushort Parse (string s, IFormatProvider? provider);
[System.CLSCompliant(false)]
public static ushort Parse (string s, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member Parse : string * IFormatProvider -> uint16
static member Parse : string * IFormatProvider -> uint16
Public Shared Function Parse (s As String, provider As IFormatProvider) As UShort

Parametreler

s
String

Dönüştürülecek sayıyı temsil eden dize.

provider
IFormatProvider

shakkında kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.

Döndürülenler

siçinde belirtilen sayıya eşdeğer 16 bit işaretsiz tamsayı.

Uygulamalar

Öznitelikler

Özel durumlar

s doğru biçimde değil.

s UInt16.MinValue veya UInt16.MaxValue'den büyük bir sayıyı temsil eder.

Örnekler

Aşağıdaki örnek, pozitif işareti olarak iki artı işareti (++) kullanan özel bir kültürün örneğini oluşturur. Daha sonra hem bu özel kültürü hem de sabit kültürü temsil eden CultureInfo nesneleri kullanarak dize dizisini ayrıştırmak için Parse(String, IFormatProvider) yöntemini çağırır.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // Define a custom culture that uses "++" as a positive sign. 
      CultureInfo ci = new CultureInfo("");
      ci.NumberFormat.PositiveSign = "++";
      // Create an array of cultures.
      CultureInfo[] cultures = { ci, CultureInfo.InvariantCulture };
      // Create an array of strings to parse.
      string[] values = { "++1403", "-0", "+0", "+16034", 
                          Int16.MinValue.ToString(), "14.0", "18012" };
      // Parse the strings using each culture.
      foreach (CultureInfo culture in cultures)
      {
         Console.WriteLine("Parsing with the '{0}' culture.", culture.Name);
         foreach (string value in values)
         {
            try {
               ushort number = UInt16.Parse(value, culture);
               Console.WriteLine("   Converted '{0}' to {1}.", value, number);
            }
            catch (FormatException) {
               Console.WriteLine("   The format of '{0}' is invalid.", value);
            }
            catch (OverflowException) {
               Console.WriteLine("   '{0}' is outside the range of a UInt16 value.", value);
            }               
         }
      }
   }
}
// The example displays the following output:
//       Parsing with the  culture.
//          Converted '++1403' to 1403.
//          Converted '-0' to 0.
//          The format of '+0' is invalid.
//          The format of '+16034' is invalid.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
//       Parsing with the '' culture.
//          The format of '++1403' is invalid.
//          Converted '-0' to 0.
//          Converted '+0' to 0.
//          Converted '+16034' to 16034.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
open System
open System.Globalization

// Define a custom culture that uses "++" as a positive sign. 
let ci = CultureInfo ""
ci.NumberFormat.PositiveSign <- "++"
// Create an array of cultures.
let cultures = [| ci; CultureInfo.InvariantCulture |]
// Create an array of strings to parse.
let values = 
    [| "++1403"; "-0"; "+0"; "+16034" 
       string Int16.MinValue; "14.0"; "18012" |]
// Parse the strings using each culture.
for culture in cultures do
    printfn $"Parsing with the '{culture.Name}' culture."
    for value in values do
        try
            let number = UInt16.Parse(value, culture)
            printfn $"   Converted '{value}' to {number}."
        with
        | :? FormatException ->
            printfn $"   The format of '{value}' is invalid."
        | :? OverflowException ->
            printfn $"   '{value}' is outside the range of a UInt16 value."
// The example displays the following output:
//       Parsing with the  culture.
//          Converted '++1403' to 1403.
//          Converted '-0' to 0.
//          The format of '+0' is invalid.
//          The format of '+16034' is invalid.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
//       Parsing with the '' culture.
//          The format of '++1403' is invalid.
//          Converted '-0' to 0.
//          Converted '+0' to 0.
//          Converted '+16034' to 16034.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
Imports System.Globalization

Module Example
   Public Sub Main()
      ' Define a custom culture that uses "++" as a positive sign. 
      Dim ci As CultureInfo = New CultureInfo("")
      ci.NumberFormat.PositiveSign = "++"
      ' Create an array of cultures.
      Dim cultures() As CultureInfo = { ci, CultureInfo.InvariantCulture }
      ' Create an array of strings to parse.
      Dim values() As String = { "++1403", "-0", "+0", "+16034", _
                                 Int16.MinValue.ToString(), "14.0", "18012" }
      ' Parse the strings using each culture.
      For Each culture As CultureInfo In cultures
         Console.WriteLine("Parsing with the '{0}' culture.", culture.Name)
         For Each value As String In values
            Try
               Dim number As UShort = UInt16.Parse(value, culture)
               Console.WriteLine("   Converted '{0}' to {1}.", value, number)
            Catch e As FormatException
               Console.WriteLine("   The format of '{0}' is invalid.", value)
            Catch e As OverflowException
               Console.WriteLine("   '{0}' is outside the range of a UInt16 value.", value)
            End Try               
         Next
      Next
   End Sub
End Module
' The example displays the following output:
'       Parsing with the  culture.
'          Converted '++1403' to 1403.
'          Converted '-0' to 0.
'          The format of '+0' is invalid.
'          The format of '+16034' is invalid.
'          '-32768' is outside the range of a UInt16 value.
'          The format of '14.0' is invalid.
'          Converted '18012' to 18012.
'       Parsing with the '' culture.
'          The format of '++1403' is invalid.
'          Converted '-0' to 0.
'          Converted '+0' to 0.
'          Converted '+16034' to 16034.
'          '-32768' is outside the range of a UInt16 value.
'          The format of '14.0' is invalid.
'          Converted '18012' to 18012.

Açıklamalar

s parametresi formun bir sayısını içerir:

[ws] [sign]rakamlar[ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tabloda her öğe açıklanmaktadır.

Öğe Açıklama
Ws İsteğe bağlı boşluk.
işaret sıfır değerini temsil s isteğe bağlı bir işaret veya negatif bir işaret.
Basamak 0 ile 9 arasında bir basamak dizisi.

s parametresi NumberStyles.Integer stili kullanılarak yorumlanır. Bayt değerinin ondalık basamaklarına ek olarak, yalnızca baştaki ve sondaki boşluklara ve baştaki işarete izin verilir. (Negatif işaret varsa, s sıfır değerini temsil etmelidir veya yöntem bir OverflowExceptionoluşturur.) stil öğelerini siçinde bulunabilecek kültüre özgü biçimlendirme bilgileriyle birlikte açıkça tanımlamak için Parse(String, NumberStyles, IFormatProvider) yöntemini kullanın.

provider parametresi, GetFormat yöntemi sbiçimi hakkında kültüre özgü bilgiler sağlayan bir NumberFormatInfo nesnesi döndüren IFormatProvider bir uygulamadır. Ayrıştırma işlemine özel biçimlendirme bilgileri sağlamak için provider parametresini kullanmanın üç yolu vardır:

  • Biçimlendirme bilgileri sağlayan gerçek NumberFormatInfo nesnesini geçirebilirsiniz. (GetFormat uygulaması yalnızca kendini döndürür.)

  • Biçimlendirmesi kullanılacak kültürü belirten bir CultureInfo nesnesi geçirebilirsiniz. NumberFormat özelliği biçimlendirme bilgileri sağlar.

  • Özel bir IFormatProvider uygulaması geçirebilirsiniz. GetFormat yöntemi, biçimlendirme bilgileri sağlayan NumberFormatInfo nesnesini örneklemeli ve döndürmelidir.

provider nullise, geçerli kültürün NumberFormatInfo kullanılır.

Ayrıca bkz.

Şunlara uygulanır

Parse(String, NumberStyles)

Kaynak:
UInt16.cs
Kaynak:
UInt16.cs
Kaynak:
UInt16.cs

Önemli

Bu API, CLS uyumlu değildir.

Belirtilen stildeki bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

Bu yöntem CLS uyumlu değildir. CLS uyumlu alternatif Parse(String, NumberStyles).

public:
 static System::UInt16 Parse(System::String ^ s, System::Globalization::NumberStyles style);
[System.CLSCompliant(false)]
public static ushort Parse (string s, System.Globalization.NumberStyles style);
public static ushort Parse (string s, System.Globalization.NumberStyles style);
[<System.CLSCompliant(false)>]
static member Parse : string * System.Globalization.NumberStyles -> uint16
static member Parse : string * System.Globalization.NumberStyles -> uint16
Public Shared Function Parse (s As String, style As NumberStyles) As UShort

Parametreler

s
String

Dönüştürülecek sayıyı temsil eden dize. Dize, style parametresi tarafından belirtilen stil kullanılarak yorumlanır.

style
NumberStyles

sizin verilen biçimini belirten sabit listesi değerlerinin bit düzeyinde birleşimi. Belirtilmesi gereken tipik bir değer Integer.

Döndürülenler

siçinde belirtilen sayıya eşdeğer 16 bit işaretsiz tamsayı.

Öznitelikler

Özel durumlar

style NumberStyles bir değer değildir.

-veya-

style, AllowHexSpecifier ve HexNumber değerlerinin birleşimi değildir.

s, styleile uyumlu bir biçimde değil.

s UInt16.MinValue veya UInt16.MaxValue'den büyük bir sayıyı temsil eder.

-veya-

s sıfır olmayan kesirli basamaklar içerir.

Örnekler

Aşağıdaki örnek, bir dizi NumberStyles değeri kullanarak bir dize dizisindeki her öğeyi ayrıştırmaya çalışır.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values = { " 214 ", "1,064", "(0)", "1241+", " + 214 ", " +214 ", "2153.0", "1e03", "1300.0e-2" };
      NumberStyles whitespace =  NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite;
      NumberStyles[] styles = { NumberStyles.None, whitespace, 
                                NumberStyles.AllowLeadingSign | NumberStyles.AllowTrailingSign | whitespace, 
                                NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol, 
                                NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint };

      // Attempt to convert each number using each style combination.
      foreach (string value in values)
      {
         Console.WriteLine("Attempting to convert '{0}':", value);
         foreach (NumberStyles style in styles)
         {
            try {
               ushort number = UInt16.Parse(value, style);
               Console.WriteLine("   {0}: {1}", style, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   {0}: Bad Format", style);
            }
         }
         Console.WriteLine();
      }
   }
}
// The example display the following output:
//    Attempting to convert ' 214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214
//       Integer, AllowTrailingSign: 214
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 1241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 214
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '2153.0':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 2153
//    
//    Attempting to convert '1e03':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 1000
//    
//    Attempting to convert '1300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 13
open System
open System.Globalization

let values = [| " 214 "; "1,064"; "(0)"; "1241+"; " + 214 "; " +214 "; "2153.0"; "1e03"; "1300.0e-2" |]
let whitespace =  NumberStyles.AllowLeadingWhite ||| NumberStyles.AllowTrailingWhite
let styles = 
    [| NumberStyles.None; whitespace 
       NumberStyles.AllowLeadingSign ||| NumberStyles.AllowTrailingSign ||| whitespace 
       NumberStyles.AllowThousands ||| NumberStyles.AllowCurrencySymbol
       NumberStyles.AllowExponent ||| NumberStyles.AllowDecimalPoint |]

// Attempt to convert each number using each style combination.
for value in values do
    printfn $"Attempting to convert '{value}':"
    for style in styles do
        try
            let number = UInt16.Parse(value, style)
            printfn $"   {style}: {number}"
        with :? FormatException ->
            printfn $"   {style}: Bad Format"
    printfn ""
// The example display the following output:
//    Attempting to convert ' 214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214
//       Integer, AllowTrailingSign: 214
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 1241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 214
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '2153.0':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 2153
//    
//    Attempting to convert '1e03':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 1000
//    
//    Attempting to convert '1300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 13
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { " 214 ", "1,064", "(0)", "1241+", " + 214 ", " +214 ", "2153.0", "1e03", "1300.0e-2" }
      Dim whitespace As NumberStyles =  NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite
      Dim styles() As NumberStyles = { NumberStyles.None, _
                                       whitespace, _
                                       NumberStyles.AllowLeadingSign Or NumberStyles.AllowTrailingSign Or whitespace, _
                                       NumberStyles.AllowThousands Or NumberStyles.AllowCurrencySymbol, _
                                       NumberStyles.AllowExponent Or NumberStyles.AllowDecimalPoint }

      ' Attempt to convert each number using each style combination.
      For Each value As String In values
         Console.WriteLine("Attempting to convert '{0}':", value)
         For Each style As NumberStyles In styles
            Try
               Dim number As UShort = UInt16.Parse(value, style)
               Console.WriteLine("   {0}: {1}", style, number)
            Catch e As FormatException
               Console.WriteLine("   {0}: Bad Format", style)
            End Try         
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'    Attempting to convert ' 214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: 214
'       Integer, AllowTrailingSign: 214
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '1,064':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: 1064
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '(0)':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '1241+':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 1241
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' + 214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' +214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 214
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '2153.0':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 2153
'    
'    Attempting to convert '1e03':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 1000
'    
'    Attempting to convert '1300.0e-2':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 13

Açıklamalar

style parametresi, ayrıştırma işleminin başarılı olması için s parametresinde izin verilen stil öğelerini (boşluk, pozitif veya negatif işaret simgesi, grup ayırıcı simgesi veya ondalık nokta simgesi gibi) tanımlar. style, NumberStyles sabit listesindeki bit bayraklarının bir bileşimi olmalıdır. style parametresi, s onaltılık değerin dize gösterimini içerdiğinde, s tarafından temsil edilen sayı sistemi (ondalık veya onaltılık) yalnızca çalışma zamanında bilindiğinde veya sboşluk veya işaret simgesine izin vermek istemediğinizde bu yöntem aşırı yüklemesini kullanışlı hale getirir.

styledeğerine bağlı olarak, s parametresi aşağıdaki öğeleri içerebilir:

[ws] [$] [sign] [basamak,]basamak[.fractional_digits][E[sign]exponential_digits][ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. style NumberStyles.AllowHexSpecifieriçeriyorsa, s parametresi aşağıdaki öğeleri içerebilir:

[ws]hexdigits[ws]

Aşağıdaki tabloda her öğe açıklanmaktadır.

Öğe Açıklama
ws İsteğe bağlı boşluk. style NumberStyles.AllowLeadingWhite bayrağı içeriyorsa boşluk s başında ve styleNumberStyles.AllowTrailingWhite bayrağı içeriyorsa s sonunda görüntülenebilir.
$ Kültüre özgü para birimi simgesi. Dizedeki konumu, geçerli kültürün NumberFormatInfo.CurrencyNegativePattern ve NumberFormatInfo.CurrencyPositivePattern özellikleri tarafından tanımlanır. style NumberStyles.AllowCurrencySymbol bayrağı içeriyorsa geçerli kültürün para birimi simgesi s görünebilir.
imzalama İsteğe bağlı bir işaret. İşaret, styleNumberStyles.AllowLeadingSign bayrağı içeriyorsa s başında ve styleNumberStyles.AllowTrailingSign bayrağı içeriyorsa s sonunda görüntülenebilir. style NumberStyles.AllowParentheses bayrağı içeriyorsa, negatif bir değeri belirtmek için s'de parantezler kullanılabilir. Ancak, negatif işaret simgesi yalnızca sıfır ile kullanılabilir; aksi takdirde, yöntemi bir OverflowExceptionoluşturur.
basamak

fractional_digits

exponential_digits
0 ile 9 arasında bir basamak dizisi. fractional_digitsiçin yalnızca 0 rakamı geçerlidir.
, Kültüre özgü grup ayırıcı simgesi. style NumberStyles.AllowThousands bayrağı içeriyorsa, geçerli kültürün grup ayırıcısı s görünebilir.
. Kültüre özgü ondalık nokta simgesi. style NumberStyles.AllowDecimalPoint bayrağı içeriyorsa geçerli kültürün ondalık noktası simgesi s görünebilir. Ayrıştırma işleminin başarılı olması için yalnızca 0 rakamı kesirli basamak olarak görünebilir; fractional_digits başka bir basamak içeriyorsa, bir FormatException oluşturulur.
E Değerin üstel (bilimsel) gösterimde temsil olduğunu gösteren "e" veya "E" karakteri. s parametresi, styleNumberStyles.AllowExponent bayrağı içeriyorsa, bir sayıyı üstel gösterimde temsil edebilir.
hexdigits 0'dan f'ye veya 0'dan F'ye kadar onaltılık basamak dizisi.

Not

s sonlandırıcı NUL (U+0000) karakterleri, style bağımsız değişkeninin değerinden bağımsız olarak ayrıştırma işlemi tarafından yoksayılır.

Yalnızca basamak içeren bir dize (NumberStyles.None stiline karşılık gelir) UInt16 türü aralığındaysa her zaman başarıyla ayrıştırılır. Geri kalan NumberStyles üyelerinin çoğu, giriş dizesinde mevcut olabilecek ancak mevcut olması gerekmeyen öğeleri denetler. Aşağıdaki tablo, tek tek NumberStyles üyelerinin s'de mevcut olabilecek öğeleri nasıl etkilediğini gösterir.

NumberStyles değeri Basamaklara ek olarak s izin verilen öğeler
None basamakları yalnızca öğe.
AllowDecimalPoint Ondalık nokta (.) ve kesirli basamaklar öğeleri .
AllowExponent exponential_digitsile birlikte üstel gösterimi gösteren "e" veya "E" karakteri.
AllowLeadingWhite sbaşındaki ws öğesi.
AllowTrailingWhite ssonundaki ws öğesi.
AllowLeadingSign sbaşındaki işareti öğesi.
AllowTrailingSign ssonundaki sign öğesi.
AllowParentheses işareti, sayısal değeri kapsayan parantez biçiminde öğesidir.
AllowThousands Grup ayırıcı (,) öğesi.
AllowCurrencySymbol Para birimi ($) öğesi.
Currency Tüm öğeler. Ancak, s onaltılık bir sayıyı veya üstel gösterimdeki bir sayıyı temsil edemez.
Float başında veya sonundaki ws öğesi, başında ve ondalık ayırıcı (.) simgesi . s parametresi üstel gösterimi de kullanabilir.
Number ws, sign, grup ayırıcısı (,) ve ondalık ayırıcı (.) öğeleri.
Any Tüm öğeler. Ancak, s onaltılık bir sayıyı temsil edemez.

siçinde belirli stil öğelerinin bulunmasına izin veren ancak gerektirmeyen diğer NumberStyles değerlerinden farklı olarak, NumberStyles.AllowHexSpecifier stil değeri, s içindeki tek tek sayısal karakterlerin her zaman onaltılık karakterler olarak yorumlandığı anlamına gelir. Geçerli onaltılık karakterler 0-9, A-F ve a-f şeklindedir. "0x" gibi bir ön ek desteklenmez ve ayrıştırma işleminin başarısız olmasına neden olur. style parametresiyle birleştirilebilen diğer bayraklar yalnızca NumberStyles.AllowLeadingWhite ve NumberStyles.AllowTrailingWhite. (NumberStyles numaralandırması, her iki boşluk bayrağını da içeren NumberStyles.HexNumberbileşik bir sayı stili içerir.)

Not

s, onaltılık bir sayının dize gösterimiyse, önünde onaltılık sayı olarak ayırt eden herhangi bir süsleme (0x veya &hgibi) bulunamaz. Bu, dönüştürmenin başarısız olmasına neden olur.

s parametresi, geçerli sistem kültürü için başlatılan bir NumberFormatInfo nesnesindeki biçimlendirme bilgileri kullanılarak ayrıştırılır. Ayrıştırma işlemi için biçimlendirme bilgileri kullanılan kültürü belirtmek için Parse(String, NumberStyles, IFormatProvider) aşırı yüklemesini çağırın.

Ayrıca bkz.

Şunlara uygulanır

Parse(ReadOnlySpan<Char>, IFormatProvider)

Kaynak:
UInt16.cs
Kaynak:
UInt16.cs
Kaynak:
UInt16.cs

Bir karakter aralığını bir değere ayrıştırıyor.

public:
 static System::UInt16 Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<System::UInt16>::Parse;
public static ushort Parse (ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> uint16
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As UShort

Parametreler

s
ReadOnlySpan<Char>

Ayrıştırılacak karakterlerin yayılma alanı.

provider
IFormatProvider

shakkında kültüre özgü biçimlendirme bilgileri sağlayan nesne.

Döndürülenler

sayrıştırma sonucu.

Uygulamalar

Şunlara uygulanır

Parse(ReadOnlySpan<Byte>, IFormatProvider)

Kaynak:
UInt16.cs
Kaynak:
UInt16.cs

UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor.

public:
 static System::UInt16 Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<System::UInt16>::Parse;
public static ushort Parse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> uint16
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As UShort

Parametreler

utf8Text
ReadOnlySpan<Byte>

Ayrıştırılacak UTF-8 karakter aralığı.

provider
IFormatProvider

utf8Texthakkında kültüre özgü biçimlendirme bilgileri sağlayan nesne.

Döndürülenler

utf8Textayrıştırma sonucu.

Uygulamalar

Şunlara uygulanır

Parse(String)

Kaynak:
UInt16.cs
Kaynak:
UInt16.cs
Kaynak:
UInt16.cs

Önemli

Bu API, CLS uyumlu değildir.

CLS uyumlu alternatif
System.Int32.Parse(String)

Bir sayının dize gösterimini 16 bit işaretsiz tamsayı eşdeğerine dönüştürür.

public:
 static System::UInt16 Parse(System::String ^ s);
[System.CLSCompliant(false)]
public static ushort Parse (string s);
public static ushort Parse (string s);
[<System.CLSCompliant(false)>]
static member Parse : string -> uint16
static member Parse : string -> uint16
Public Shared Function Parse (s As String) As UShort

Parametreler

s
String

Dönüştürülecek sayıyı temsil eden dize.

Döndürülenler

siçinde yer alan sayıya eşdeğer 16 bit işaretsiz tamsayı.

Öznitelikler

Özel durumlar

s doğru biçimde değil.

s UInt16.MinValue veya UInt16.MaxValue'den büyük bir sayıyı temsil eder.

Örnekler

Aşağıdaki örnek, bir dize dizisindeki her öğeyi işaretsiz bir 16 bit tamsayıya dönüştürmek için Parse(String) yöntemini çağırır.

using System;

public class Example
{
   public static void Main()
   {
      string[] values = { "-0", "17", "-12", "185", "66012", "+0", 
                          "", null, "16.1", "28.0", "1,034" };
      foreach (string value in values)
      {
         try {
            ushort number = UInt16.Parse(value);
            Console.WriteLine("'{0}' --> {1}", value, number);
         }
         catch (FormatException) {
            Console.WriteLine("'{0}' --> Bad Format", value);
         }
         catch (OverflowException) {   
            Console.WriteLine("'{0}' --> OverflowException", value);
         }
         catch (ArgumentNullException) {
            Console.WriteLine("'{0}' --> Null", value);
         }
      }                                 
   }
}
// The example displays the following output:
//       '-0' --> 0
//       '17' --> 17
//       '-12' --> OverflowException
//       '185' --> 185
//       '66012' --> OverflowException
//       '+0' --> 0
//       '' --> Bad Format
//       '' --> Null
//       '16.1' --> Bad Format
//       '28.0' --> Bad Format
//       '1,034' --> Bad Format
open System

let values = 
    [| "-0"; "17"; "-12"; "185"; "66012"; "+0" 
       ""; null; "16.1"; "28.0"; "1,034" |]
for value in values do
    try
        let number = UInt16.Parse value
        printfn $"'{value}' --> {number}"
    with
    | :? FormatException ->
        printfn $"'{value}' --> Bad Format"
    | :? OverflowException ->
        printfn $"'{value}' --> OverflowException"
    | :? ArgumentNullException ->
        printfn $"'{value}' --> Null"
// The example displays the following output:
//       '-0' --> 0
//       '17' --> 17
//       '-12' --> OverflowException
//       '185' --> 185
//       '66012' --> OverflowException
//       '+0' --> 0
//       '' --> Bad Format
//       '' --> Null
//       '16.1' --> Bad Format
//       '28.0' --> Bad Format
//       '1,034' --> Bad Format
Module Example
   Public Sub Main()
      Dim values() As String = { "-0", "17", "-12", "185", "66012", _ 
                                 "+0", "", Nothing, "16.1", "28.0", _
                                 "1,034" }
      For Each value As String In values
         Try
            Dim number As UShort = UInt16.Parse(value)
            Console.WriteLine("'{0}' --> {1}", value, number)
         Catch e As FormatException
            Console.WriteLine("'{0}' --> Bad Format", value)
         Catch e As OverflowException   
            Console.WriteLine("'{0}' --> OverflowException", value)
         Catch e As ArgumentNullException
            Console.WriteLine("'{0}' --> Null", value)
         End Try
      Next                                 
   End Sub
End Module
' The example displays the following output:
'       '-0' --> 0
'       '17' --> 17
'       '-12' --> OverflowException
'       '185' --> 185
'       '66012' --> OverflowException
'       '+0' --> 0
'       '' --> Bad Format
'       '' --> Null
'       '16.1' --> Bad Format
'       '28.0' --> Bad Format
'       '1,034' --> Bad Format

Açıklamalar

s parametresi, aşağıdaki biçimdeki bir sayının dize gösterimi olmalıdır.

[ws] [sign]rakamlar[ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tabloda her öğe açıklanmaktadır.

Öğe Açıklama
ws İsteğe bağlı boşluk.
imzalama İsteğe bağlı bir işaret. Geçerli işaret karakterleri geçerli kültürün NumberFormatInfo.NegativeSign ve NumberFormatInfo.PositiveSign özellikleri tarafından belirlenir. Ancak, negatif işaret simgesi yalnızca sıfır ile kullanılabilir; aksi takdirde, yöntemi bir OverflowExceptionoluşturur.
basamak 0 ile 9 arasında bir basamak dizisi. Baştaki sıfırlar yoksayılır.

Not

s parametresi tarafından belirtilen dize, NumberStyles.Integer stili kullanılarak yorumlanır. Hiçbir grup ayırıcısı veya ondalık ayırıcı içeremez ve ondalık bölümü olamaz.

s parametresi, geçerli sistem kültürü için başlatılan bir System.Globalization.NumberFormatInfo nesnesindeki biçimlendirme bilgileri kullanılarak ayrıştırılır. Daha fazla bilgi için bkz. NumberFormatInfo.CurrentInfo. Belirli bir kültürün biçimlendirme bilgilerini kullanarak bir dizeyi ayrıştırmak için Parse(String, IFormatProvider) yöntemini kullanın.

Ayrıca bkz.

Şunlara uygulanır