Compartir vía


Byte.TryParse Método

Definición

Intenta convertir la representación de cadena de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente.

Sobrecargas

Nombre Description
TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte)

Intenta analizar un intervalo de caracteres UTF-8 en un valor.

TryParse(ReadOnlySpan<Char>, Byte)

Intenta convertir la representación de intervalo de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente.

TryParse(String, Byte)

Intenta convertir la representación de cadena de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente.

TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte)

Intenta analizar un intervalo de caracteres en un valor.

TryParse(String, IFormatProvider, Byte)

Intenta analizar una cadena en un valor.

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

Intenta analizar un intervalo de caracteres UTF-8 en un valor.

TryParse(ReadOnlySpan<Byte>, Byte)

Intenta convertir un intervalo de caracteres UTF-8 que contiene la representación de cadena de un número en su entero de 8 bits sin signo equivalente.

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

Convierte la representación de intervalo de un número en un estilo y formato específico de la referencia cultural especificados en su Byte equivalente. Un valor devuelto indica si la conversión se realizó correctamente o no.

TryParse(String, NumberStyles, IFormatProvider, Byte)

Convierte la representación de cadena de un número en un estilo y formato específico de la referencia cultural especificados en su Byte equivalente. Un valor devuelto indica si la conversión se realizó correctamente o no.

TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte)

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Intenta analizar un intervalo de caracteres UTF-8 en un valor.

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

Parámetros

utf8Text
ReadOnlySpan<Byte>

Intervalo de caracteres UTF-8 que se van a analizar.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre utf8Text.

result
Byte

Al devolver, contiene el resultado del análisis utf8Text correcto o un valor indefinido en caso de error.

Devoluciones

true es si utf8Text se ha analizado correctamente; en caso contrario, falsees .

Se aplica a

TryParse(ReadOnlySpan<Char>, Byte)

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Intenta convertir la representación de intervalo de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente.

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

Parámetros

s
ReadOnlySpan<Char>

Intervalo que contiene los caracteres que representan el número que se va a convertir.

result
Byte

Cuando este método devuelve, contiene el Byte valor equivalente al número contenido en s si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en result se sobrescribirá.

Devoluciones

true es si s se ha convertido correctamente; de lo contrario, falsees .

Se aplica a

TryParse(String, Byte)

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Intenta convertir la representación de cadena de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente.

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

Parámetros

s
String

Cadena que contiene un número que se va a convertir.

result
Byte

Cuando este método devuelve, contiene el Byte valor equivalente al número contenido en s si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en result se sobrescribirá.

Devoluciones

true es si s se ha convertido correctamente; de lo contrario, falsees .

Ejemplos

En el ejemplo siguiente se llama al TryParse(String, Byte) método con varios valores de cadena diferentes.

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.

Comentarios

Se produce un error en la conversión y el método devuelve false si el s parámetro no tiene el formato correcto, si es null o String.Empty, o si representa un número menor MinValue o mayor que MaxValue.

El Byte.TryParse(String, Byte) método es similar al Byte.Parse(String) método , excepto que TryParse(String, Byte) no produce una excepción si se produce un error en la conversión.

El s parámetro debe ser la representación de cadena de un número con el formato siguiente:

[ws][sign]digits[ws]

Los elementos entre corchetes ([ y ]) son opcionales. En esta tabla se describe cada elemento.

Elemento Descripción
Ws Espacio en blanco opcional.
firma Un signo positivo opcional, tal y como especifica la NumberFormatInfo.PositiveSign propiedad de la referencia cultural actual.
dígitos Secuencia de dígitos decimales que van de 0 a 9.

El s parámetro se interpreta mediante el Integer estilo . Además de los dígitos decimales del valor de byte, solo se permiten espacios iniciales y finales junto con un signo inicial. (Si el signo está presente, debe ser un signo positivo o el método produce un OverflowException. Para definir explícitamente los elementos de estilo junto con la información de formato específica de la referencia cultural que puede estar presente en s, use el Byte.Parse(String, NumberStyles, IFormatProvider) método .

El s parámetro se analiza mediante la información de formato de un NumberFormatInfo objeto para la referencia cultural actual. Para obtener más información, consulte NumberFormatInfo.CurrentInfo.

Esta sobrecarga del Byte.TryParse(String, Byte) método interpreta todos los dígitos del s parámetro como dígitos decimales. Para analizar la representación de cadena de un número hexadecimal, llame a la Byte.TryParse(String, NumberStyles, IFormatProvider, Byte) sobrecarga.

Consulte también

Se aplica a

TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte)

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Intenta analizar un intervalo de caracteres en un valor.

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

Parámetros

s
ReadOnlySpan<Char>

Intervalo de caracteres que se va a analizar.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre s.

result
Byte

Cuando este método devuelve , contiene el resultado de analizar scorrectamente o un valor indefinido en caso de error.

Devoluciones

true es si s se ha analizado correctamente; en caso contrario, falsees .

Se aplica a

TryParse(String, IFormatProvider, Byte)

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Intenta analizar una cadena en un valor.

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

Parámetros

s
String

Cadena que se va a analizar.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre s.

result
Byte

Cuando este método devuelve , contiene el resultado del análisis s correcto o de un valor indefinido en caso de error.

Devoluciones

true es si s se ha analizado correctamente; en caso contrario, falsees .

Se aplica a

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

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Intenta analizar un intervalo de caracteres UTF-8 en un valor.

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

Parámetros

utf8Text
ReadOnlySpan<Byte>

Intervalo de caracteres UTF-8 que se van a analizar.

style
NumberStyles

Combinación bit a bit de estilos de número que pueden estar presentes en utf8Text.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre utf8Text.

result
Byte

Al devolver, contiene el resultado del análisis utf8Text correcto o un valor indefinido en caso de error.

Devoluciones

true es si utf8Text se ha analizado correctamente; en caso contrario, falsees .

Se aplica a

TryParse(ReadOnlySpan<Byte>, Byte)

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Intenta convertir un intervalo de caracteres UTF-8 que contiene la representación de cadena de un número en su entero de 8 bits sin signo equivalente.

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

Parámetros

utf8Text
ReadOnlySpan<Byte>

Intervalo que contiene los caracteres UTF-8 que representan el número que se va a convertir.

result
Byte

Cuando este método devuelve, contiene el valor entero sin signo de 8 bits equivalente al número contenido en utf8Text si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en el resultado se sobrescribirá.

Devoluciones

true es si utf8Text se ha convertido correctamente; de lo contrario, falsees .

Se aplica a

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

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Convierte la representación de intervalo de un número en un estilo y formato específico de la referencia cultural especificados en su Byte equivalente. Un valor devuelto indica si la conversión se realizó correctamente o no.

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

Parámetros

s
ReadOnlySpan<Char>

Intervalo que contiene los caracteres que representan el número que se va a convertir. El intervalo se interpreta con el Integer estilo .

style
NumberStyles

Combinación bit a bit de valores de enumeración que indica los elementos de estilo que pueden estar presentes en s. Un valor típico que se debe especificar es Integer.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre s. Si provider es null, se usa la referencia cultural actual del subproceso.

result
Byte

Cuando este método devuelve, contiene el valor entero sin signo de 8 bits equivalente al número contenido en s si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Se produce un error en la conversión si el s parámetro es null o Empty, no tiene el formato correcto o representa un número menor que Byte.MinValue o mayor que Byte.MaxValue. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en result se sobrescribirá.

Devoluciones

true es si s se ha convertido correctamente; de lo contrario, falsees .

Se aplica a

TryParse(String, NumberStyles, IFormatProvider, Byte)

Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs
Source:
Byte.cs

Convierte la representación de cadena de un número en un estilo y formato específico de la referencia cultural especificados en su Byte equivalente. Un valor devuelto indica si la conversión se realizó correctamente o no.

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

Parámetros

s
String

Cadena que contiene un número que se va a convertir. La cadena se interpreta mediante el estilo especificado por style.

style
NumberStyles

Combinación bit a bit de valores de enumeración que indica los elementos de estilo que pueden estar presentes en s. Un valor típico que se debe especificar es Integer.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre s. Si provider es null, se usa la referencia cultural actual del subproceso.

result
Byte

Cuando este método devuelve, contiene el valor entero sin signo de 8 bits equivalente al número contenido en s si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Se produce un error en la conversión si el s parámetro es null o Empty, no tiene el formato correcto o representa un número menor que Byte.MinValue o mayor que Byte.MaxValue. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en result se sobrescribirá.

Devoluciones

true es si s se ha convertido correctamente; de lo contrario, falsees .

Excepciones

style no es un NumberStyles valor.

O bien

style no es una combinación de AllowHexSpecifier valores y HexNumber .

Ejemplos

En el ejemplo siguiente se llama al TryParse(String, NumberStyles, IFormatProvider, Byte) método con varios valores de cadena diferentes.

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.

Comentarios

El TryParse método es similar al Parse método , excepto que el TryParse método no produce una excepción si se produce un error en la conversión.

El s parámetro se analiza mediante la información de formato de un NumberFormatInfo objeto proporcionado por el provider parámetro .

El parámetro style define los elementos de estilo (como el espacio en blanco o el signo positivo) que se permiten en el s parámetro para que la operación de análisis se realice correctamente. Debe ser una combinación de marcas de bits de la NumberStyles enumeración. Según el valor de style, el s parámetro puede incluir los siguientes elementos:

[ws][$][sign]digits[.fractional_digits][e[sign]digits][ws]

O bien, si el style parámetro incluye AllowHexSpecifier:

[ws]hexdigits[ws]

Los elementos entre corchetes ( [ y ] ) son opcionales. En esta tabla se describe cada elemento.

Elemento Descripción
Ws Espacio en blanco opcional. El espacio en blanco puede aparecer al principio de s si incluye la NumberStyles.AllowLeadingWhite marca o al final de s si el estilo incluye la NumberStyles.AllowTrailingWhitestyle marca.
$ Símbolo de moneda específico de la referencia cultural. Su posición en la cadena se define mediante la NumberFormatInfo.CurrencyPositivePattern propiedad del NumberFormatInfo objeto devuelto por el GetFormat método del provider parámetro . El símbolo de moneda puede aparecer en s si style incluye la NumberStyles.AllowCurrencySymbol marca .
firma Un signo positivo opcional. (Se produce un error en la operación de análisis si hay un signo negativo en s). El signo puede aparecer al principio de s si incluye la NumberStyles.AllowLeadingSign marca o al final de s si style incluye la NumberStyles.AllowTrailingSign marca.style
dígitos Secuencia de dígitos de 0 a 9.
. Símbolo de separador decimal específico de la referencia cultural. El símbolo decimal de la referencia cultural especificada por provider puede aparecer en s si style incluye la NumberStyles.AllowDecimalPoint marca .
fractional_digits Una o varias apariciones del dígito 0. Los dígitos fraccionarios solo pueden aparecer en s si style incluye la NumberStyles.AllowDecimalPoint marca .
e Carácter e o E, que indica que el valor se representa en notación exponencial. El s parámetro puede representar un número en notación exponencial si style incluye la NumberStyles.AllowExponent marca .
hexdigits Secuencia de dígitos hexadecimales de 0 a f o 0 a F.

Nota:

La operación de análisis omite los caracteres NUL (U+0000) terminados, s independientemente del valor del style argumento.

Una cadena con dígitos decimales solo (que corresponde al NumberStyles.None estilo) siempre analiza correctamente. La mayoría de los miembros restantes NumberStyles controlan los elementos que pueden ser, pero no deben estar presentes en esta cadena de entrada. En la tabla siguiente se indica cómo afectan los miembros individuales NumberStyles a los elementos que pueden estar presentes en s.

Valores de NumberStyles no compuestos Elementos permitidos en s además de dígitos
NumberStyles.None Solo dígitos decimales.
NumberStyles.AllowDecimalPoint Los elementos . y fractional_digits . Sin embargo, fractional_digits deben constar de solo uno o más 0 dígitos o el método devuelve false.
NumberStyles.AllowExponent El s parámetro también puede usar la notación exponencial. Si s representa un número en notación exponencial, debe representar un entero dentro del intervalo del tipo de datos sin un componente fraccionario distinto de Byte cero.
NumberStyles.AllowLeadingWhite Elemento ws al principio de s.
NumberStyles.AllowTrailingWhite Elemento ws al final de s.
NumberStyles.AllowLeadingSign Un signo positivo puede aparecer antes de los dígitos.
NumberStyles.AllowTrailingSign Un signo positivo puede aparecer después de los dígitos.
NumberStyles.AllowParentheses Aunque se admite esta marca, el método devuelve false si los paréntesis están presentes en s.
NumberStyles.AllowThousands Aunque el símbolo del separador de grupo puede aparecer en s, solo puede ir precedido por uno o varios dígitos.
NumberStyles.AllowCurrencySymbol Elemento $ .

Si se usa la NumberStyles.AllowHexSpecifier marca , s debe ser un valor hexadecimal sin prefijo. Por ejemplo, "F3" analiza correctamente, pero "0xF3" no. Las únicas marcas que pueden estar presentes en style son NumberStyles.AllowLeadingWhite y NumberStyles.AllowTrailingWhite. (La NumberStyles enumeración tiene un estilo de número compuesto, NumberStyles.HexNumber, que incluye ambas marcas de espacio en blanco).

El provider parámetro es una IFormatProvider implementación, como un CultureInfo objeto o un NumberFormatInfo objeto , cuyo GetFormat método devuelve un NumberFormatInfo objeto . El NumberFormatInfo objeto proporciona información específica de la referencia cultural sobre el formato de s.

Consulte también

Se aplica a