Byte.TryParse Метод

Определение

Предпринимает попытку преобразования строкового представления числа в его эквивалент типа Byte и возвращает значение, позволяющее определить, успешно ли выполнено преобразование.Tries to convert the string representation of a number to its Byte equivalent, and returns a value that indicates whether the conversion succeeded.

Перегрузки

TryParse(String, Byte)

Предпринимает попытку преобразования строкового представления числа в его эквивалент типа Byte и возвращает значение, позволяющее определить, успешно ли выполнено преобразование.Tries to convert the string representation of a number to its Byte equivalent, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, Byte)

Пытается преобразовать представление числа в виде диапазона в его эквивалент типа Byte и возвращает значение, позволяющее определить, успешно ли выполнено преобразование.Tries to convert the span representation of a number to its Byte equivalent, and returns a value that indicates whether the conversion succeeded.

TryParse(String, NumberStyles, IFormatProvider, Byte)

Преобразует строковое представление числа в указанном стиле и формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte.Converts the string representation of a number in a specified style and culture-specific format to its Byte equivalent. Возвращает значение, указывающее, успешно ли выполнено преобразование.A return value indicates whether the conversion succeeded or failed.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte)

Преобразует представление числа в виде диапазона в указанном стиле и формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte.Converts the span representation of a number in a specified style and culture-specific format to its Byte equivalent. Возвращает значение, указывающее, успешно ли выполнено преобразование.A return value indicates whether the conversion succeeded or failed.

TryParse(String, Byte)

Предпринимает попытку преобразования строкового представления числа в его эквивалент типа Byte и возвращает значение, позволяющее определить, успешно ли выполнено преобразование.Tries to convert the string representation of a number to its Byte equivalent, and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::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

Параметры

s
String

Строка, содержащая преобразуемое число.A string that contains a number to convert.

result
Byte

При возврате этого метода содержит значение Byte, эквивалентное числу, содержащемуся в параметре s, если преобразование выполнено успешно, или ноль, если оно завершилось неудачей.When this method returns, contains the Byte value equivalent to the number contained in s if the conversion succeeded, or zero if the conversion failed. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в result, будет перезаписано.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Возвраты

Значение true, если параметр s успешно преобразован; в противном случае — значение false.true if s was converted successfully; otherwise, false.

Примеры

В следующем примере вызывается метод TryParse(String, Byte) с несколькими различными строковыми значениями.The following example calls the TryParse(String, Byte) method with a number of different string values.

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.
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.

Комментарии

Преобразование завершается неудачей, и метод возвращает false, если параметр s имеет неправильный формат, если он null или String.Emptyили если он представляет число меньше MinValue или больше MaxValue.The conversion fails and the method returns false if the s parameter is not in the correct format, if it is null or String.Empty, or if it represents a number less than MinValue or greater than MaxValue.

Метод Byte.TryParse(String, Byte) похож на метод Byte.Parse(String), за исключением того, что TryParse(String, Byte) не создает исключение, если преобразование завершается неудачей.The Byte.TryParse(String, Byte) method is similar to the Byte.Parse(String) method, except that TryParse(String, Byte) does not throw an exception if the conversion fails.

Параметр s должен быть строковым представлением числа в следующей форме:The s parameter should be the string representation of a number in the following form:

[ws][sign]digits[ws]  

Элементы в квадратных скобках ([и]) являются необязательными.Elements in square brackets ([ and ]) are optional. Каждый из элементов описан в таблице ниже.The following table describes each element.

ЭлементElement ОписаниеDescription
wsws Необязательный пробел.Optional white space.
signsign Необязательный положительный знак, заданный свойством NumberFormatInfo.PositiveSign текущего языка и региональных параметров.An optional positive sign, as specified by the NumberFormatInfo.PositiveSign property of the current culture.
digitsdigits Последовательность десятичных цифр в диапазоне от 0 до 9.A sequence of decimal digits that range from 0 to 9.

Параметр s интерпретируется с помощью стиля Integer.The s parameter is interpreted using the Integer style. В дополнение к десятичным цифрам байтового значения, допускается только начальные и конечные пробелы, а также ведущий символ.In addition to the byte value's decimal digits, only leading and trailing spaces together with a leading sign are allowed. (Если знак есть, он должен быть положительным знаком или метод вызывает исключение OverflowException.) Чтобы явно определить элементы стиля вместе с данными форматирования, зависящими от языка и региональных параметров, которые могут присутствовать в s, используйте метод Byte.Parse(String, NumberStyles, IFormatProvider).(If the sign is present, it must be a positive sign or the method throws an OverflowException.) To explicitly define the style elements together with the culture-specific formatting information that can be present in s, use the Byte.Parse(String, NumberStyles, IFormatProvider) method.

Параметр s анализируется с помощью сведений о форматировании в объекте NumberFormatInfo для текущего языка и региональных параметров.The s parameter is parsed using the formatting information in a NumberFormatInfo object for the current culture. Для получения дополнительной информации см. NumberFormatInfo.CurrentInfo.For more information, see NumberFormatInfo.CurrentInfo.

Эта перегрузка метода Byte.TryParse(String, Byte) интерпретирует все цифры в параметре s как десятичные цифры.This overload of the Byte.TryParse(String, Byte) method interprets all digits in the s parameter as decimal digits. Чтобы проанализировать строковое представление шестнадцатеричного числа, вызовите перегрузку Byte.TryParse(String, NumberStyles, IFormatProvider, Byte).To parse the string representation of a hexadecimal number, call the Byte.TryParse(String, NumberStyles, IFormatProvider, Byte) overload.

Дополнительно

TryParse(ReadOnlySpan<Char>, Byte)

Пытается преобразовать представление числа в виде диапазона в его эквивалент типа Byte и возвращает значение, позволяющее определить, успешно ли выполнено преобразование.Tries to convert the span representation of a number to its Byte equivalent, and returns a value that indicates whether the conversion succeeded.

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

Параметры

s
ReadOnlySpan<Char>

Диапазон, содержащий символы, которые представляют число для преобразования.A span containing the characters representing the number to convert.

result
Byte

При возврате этого метода содержит значение Byte, эквивалентное числу, содержащемуся в параметре s, если преобразование выполнено успешно, или ноль, если оно завершилось неудачей.When this method returns, contains the Byte value equivalent to the number contained in s if the conversion succeeded, or zero if the conversion failed. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в result, будет перезаписано.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Возвраты

Значение true, если параметр s успешно преобразован; в противном случае — значение false.true if s was converted successfully; otherwise, false.

TryParse(String, NumberStyles, IFormatProvider, Byte)

Преобразует строковое представление числа в указанном стиле и формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte.Converts the string representation of a number in a specified style and culture-specific format to its Byte equivalent. Возвращает значение, указывающее, успешно ли выполнено преобразование.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::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

Параметры

s
String

Строка, содержащая преобразуемое число.A string containing a number to convert. Строка интерпретируется с использованием стиля, указанного в style.The string is interpreted using the style specified by style.

style
NumberStyles

Побитовое сочетание значений перечисления, обозначающих элементы стиля, которые могут быть представлены в параметре s.A bitwise combination of enumeration values that indicates the style elements that can be present in s. Обычно указывается значение Integer.A typical value to specify is Integer.

provider
IFormatProvider

Объект, который предоставляет сведения о форматировании параметра s в зависимости от языка и региональных параметров.An object that supplies culture-specific formatting information about s. Если значение параметра provider равно null, используются текущий язык и региональные параметры потока.If provider is null, the thread current culture is used.

result
Byte

По возвращении из этого метода содержит 8-битовое целочисленное значение без знака, эквивалентное числу, содержащемуся в параметре s, если преобразование выполнено успешно, или нуль, если оно завершилось неудачей.When this method returns, contains the 8-bit unsigned integer value equivalent to the number contained in s if the conversion succeeded, or zero if the conversion failed. Преобразование завершается сбоем, если параметр s равен null или Empty, не находится в правильном формате или представляет число меньше MinValue или больше MaxValue.The conversion fails if the s parameter is null or Empty, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в result, будет перезаписано.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Возвраты

Значение true, если параметр s успешно преобразован; в противном случае — значение false.true if s was converted successfully; otherwise, false.

Исключения

style не является значением NumberStyles.style is not a NumberStyles value.

- или --or- style не является сочетанием значений AllowHexSpecifier и HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

Примеры

В следующем примере вызывается метод TryParse(String, NumberStyles, IFormatProvider, Byte) с несколькими различными строковыми значениями.The following example calls the TryParse(String, NumberStyles, IFormatProvider, Byte) method with a number of different string values.

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.
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.

Комментарии

Метод TryParse похож на метод Parse, за исключением того, что метод TryParse не создает исключение, если преобразование завершается неудачей.The TryParse method is like the Parse method, except the TryParse method does not throw an exception if the conversion fails.

Параметр s анализируется с помощью сведений о форматировании в объекте NumberFormatInfo, предоставленном параметром provider.The s parameter is parsed using the formatting information in a NumberFormatInfo object supplied by the provider parameter.

Параметр style определяет элементы стиля (например, пробелы или положительные знаки), допустимые в параметре s для успешной операции синтаксического анализа.The style parameter defines the style elements (such as white space or the positive sign) that are allowed in the s parameter for the parse operation to succeed. Он должен представлять собой сочетание битовых флагов из перечисления NumberStyles.It must be a combination of bit flags from the NumberStyles enumeration. В зависимости от значения styleпараметр s может включать следующие элементы:Depending on the value of style, the s parameter may include the following elements:

Протокол [$] [знак] цифры [. fractional_digits] [e [знак] цифры] [ws][ws][$][sign]digits[.fractional_digits][e[sign]digits][ws]

Или, если параметр style включает AllowHexSpecifier:Or, if the style parameter includes AllowHexSpecifier:

[ws] хексдигитс [ws][ws]hexdigits[ws]

Элементы в квадратных скобках ([и]) являются необязательными.Elements in square brackets ( [ and ] ) are optional. Каждый из элементов описан в таблице ниже.The following table describes each element.

ЭлементElement ОписаниеDescription
wsws Необязательный пробел.Optional white space. Пробелы могут находиться в начале s если style включает флаг NumberStyles.AllowLeadingWhite или в конце, если стиль включает флаг NumberStyles.AllowTrailingWhite.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, or at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Символ валюты, зависящий от языка и региональных параметров.A culture-specific currency symbol. Его расположение в строке определяется свойством NumberFormatInfo.CurrencyPositivePattern объекта NumberFormatInfo, возвращаемого методом GetFormat параметра provider.Its position in the string is defined by the NumberFormatInfo.CurrencyPositivePattern property of the NumberFormatInfo object returned by the GetFormat method of the provider parameter. Символ валюты может отображаться в s, если style включает флаг NumberStyles.AllowCurrencySymbol.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Необязательный положительный знак.An optional positive sign. (Операция синтаксического анализа завершается неудачей, если в sимеется отрицательный знак.) Знак может находиться в начале s если style включает флаг NumberStyles.AllowLeadingSign или в конце s, если style включает флаг NumberStyles.AllowTrailingSign.(The parse operation fails if a negative sign is present in s.) The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, or at the end of s if style includes the NumberStyles.AllowTrailingSign flag.
digitsdigits Последовательность цифр от 0 до 9.A sequence of digits from 0 through 9.
.. Символ десятичной запятой, зависящий от языка и региональных параметров.A culture-specific decimal point symbol. Символ десятичной запятой для языка и региональных параметров, заданный provider, может присутствовать в s, если style включает флаг NumberStyles.AllowDecimalPoint.The decimal point symbol of the culture specified by provider can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits Одно или несколько вхождений цифры 0.One or more occurrences of the digit 0. Дробные цифры могут присутствовать в s только в том случае, если style включает флаг NumberStyles.AllowDecimalPoint.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
ee Символ e или E, который указывает, что значение представлено в экспоненциальной нотации.The e or E character, which indicates that the value is represented in exponential notation. Параметр s может представлять число в экспоненциальной нотации, если style включает флаг NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
хексдигитсhexdigits Последовательность шестнадцатеричных цифр от 0 до f или от 0 до F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Примечание

Все завершающие символы NUL (U + 0000) в s игнорируются операцией синтаксического анализа независимо от значения аргумента style.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Строка с десятичными цифрами (которая соответствует стилю NumberStyles.None) всегда будет успешно проанализирована.A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully. Большинство оставшихся NumberStyles элементов управляют элементами, которые могут быть, но не должны присутствовать в этой входной строке.Most of the remaining NumberStyles members control elements that may be but are not required to be present in this input string. В следующей таблице показано, как отдельные члены NumberStyles влияют на элементы, которые могут присутствовать в s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Несоставные значения NumberStylesNon-composite NumberStyles values Элементы, разрешенные в s в дополнение к цифрамElements permitted in s in addition to digits
NumberStyles.None Только десятичные цифры.Decimal digits only.
NumberStyles.AllowDecimalPoint Языковой элемент .The . и fractional_digits элементы.and fractional_digits elements. Однако fractional_digits должны состоять только из одной или более цифр 0 или метод возвращает false.However, fractional_digits must consist of only one or more 0 digits or the method returns false.
NumberStyles.AllowExponent Параметр s может также использовать экспоненциальную нотацию.The s parameter can also use exponential notation. Если s представляет число в экспоненциальной нотации, оно должно представлять целое число в диапазоне Byte типа данных без ненулевого дробного компонента.If s represents a number in exponential notation, it must represent an integer within the range of the Byte data type without a non-zero, fractional component.
NumberStyles.AllowLeadingWhite Элемент WS в начале s.The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite Элемент WS в конце s.The ws element at the end of s.
NumberStyles.AllowLeadingSign Знак плюс может располагаться перед цифрами.A positive sign can appear before digits.
NumberStyles.AllowTrailingSign Знак плюс может располагаться после цифр.A positive sign can appear after digits.
NumberStyles.AllowParentheses Хотя этот флаг поддерживается, метод возвращает false, если в sесть скобки.Although this flag is supported, the method returns false if parentheses are present in s.
NumberStyles.AllowThousands Хотя символ разделителя групп может отображаться в s, ему может предшествовать только одна или несколько цифр 0.Although the group separator symbol can appear in s, it can be preceded by only one or more 0 digits.
NumberStyles.AllowCurrencySymbol Элемент $ .The $ element.

Если используется флаг NumberStyles.AllowHexSpecifier, s должен быть шестнадцатеричным значением без префикса.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value without a prefix. Например, "F3" успешно анализируется, но "0xF3" — нет.For example, "F3" parses successfully, but "0xF3" does not. Единственными другими флагами, которые могут присутствовать в style, являются NumberStyles.AllowLeadingWhite и NumberStyles.AllowTrailingWhite.The only other flags that can be present in style are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (Перечисление NumberStyles имеет стиль составного числа NumberStyles.HexNumber, включающий оба флага пробела.)(The NumberStyles enumeration has a composite number style, NumberStyles.HexNumber, that includes both white space flags.)

Параметр provider — это IFormatProvider реализация, например объект CultureInfo или объект NumberFormatInfo, метод GetFormat которого возвращает объект NumberFormatInfo.The provider parameter is an IFormatProvider implementation, such as a CultureInfo object or a NumberFormatInfo object, whose GetFormat method returns a NumberFormatInfo object. Объект NumberFormatInfo предоставляет сведения о формате s, зависящие от языка и региональных параметров.The NumberFormatInfo object provides culture-specific information about the format of s.

Дополнительно

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte)

Преобразует представление числа в виде диапазона в указанном стиле и формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte.Converts the span representation of a number in a specified style and culture-specific format to its Byte equivalent. Возвращает значение, указывающее, успешно ли выполнено преобразование.A return value indicates whether the conversion succeeded or failed.

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);
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

Параметры

s
ReadOnlySpan<Char>

Диапазон, содержащий символы, которые представляют число для преобразования.A span containing the characters representing the number to convert. Диапазон интерпретируется с использованием стиля Integer.The span is interpreted using the Integer style.

style
NumberStyles

Побитовое сочетание значений перечисления, обозначающих элементы стиля, которые могут быть представлены в параметре s.A bitwise combination of enumeration values that indicates the style elements that can be present in s. Обычно указывается значение Integer.A typical value to specify is Integer.

provider
IFormatProvider

Объект, который предоставляет сведения о форматировании параметра s в зависимости от языка и региональных параметров.An object that supplies culture-specific formatting information about s. Если значение параметра provider равно null, используются текущий язык и региональные параметры потока.If provider is null, the thread current culture is used.

result
Byte

По возвращении из этого метода содержит 8-битовое целочисленное значение без знака, эквивалентное числу, содержащемуся в параметре s, если преобразование выполнено успешно, или нуль, если оно завершилось неудачей.When this method returns, contains the 8-bit unsigned integer value equivalent to the number contained in s if the conversion succeeded, or zero if the conversion failed. Преобразование завершается сбоем, если параметр s равен null или Empty, не находится в правильном формате или представляет число меньше MinValue или больше MaxValue.The conversion fails if the s parameter is null or Empty, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в result, будет перезаписано.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Возвраты

Значение true, если параметр s успешно преобразован; в противном случае — значение false.true if s was converted successfully; otherwise, false.

Применяется к