Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Byte.TryParse (String, NumberStyles, IFormatProvider, Byte)

 

Publicado: octubre de 2016

Convierte la representación de cadena de un número con el estilo y el formato específico de la referencia cultural que se hayan especificado en su equivalente de Byte. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public static bool TryParse(
	string s,
	NumberStyles style,
	IFormatProvider provider,
	out byte result
)

Parámetros

s
Type: System.String

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

style
Type: System.Globalization.NumberStyles

Combinación bit a bit de los valores de enumeración que indica los elementos de estilo que pueden estar presentes en s. Un valor que se especifica de forma habitual es Integer.

provider
Type: System.IFormatProvider

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

result
Type: System.Byte

El resultado que devuelve este método 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 produce un error en la conversión. La conversión no se realiza correctamente si el parámetro s es null o String.Empty no tiene el formato correcto o representa un número menor que MinValue o mayor que MaxValue. Este parámetro se pasa sin inicializar; cualquier valor proporcionado originalmente en result se sobrescribirá.

Valor devuelto

Type: System.Boolean

true si s se convirtió correctamente; en caso contrario, false.

Exception Condition
ArgumentException

style no es un valor NumberStyles.

-o-

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

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

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

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

[eb] [$] [signo] dígitos [fraccionarios] [e [signo] dígitos] [eb]

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

[eb] dígitos hexadecimales [eb]

Elementos entre corchetes ([y]) son opcionales. En la tabla siguiente describe cada elemento.

Elemento

Descripción

eb

Espacio en blanco opcional. Espacio en blanco puede aparecer al principio de s Si style incluye la NumberStyles.AllowLeadingWhite marca, o al final de s si el estilo incluye la NumberStyles.AllowTrailingWhite marca.

$

Un símbolo de moneda específico de la referencia cultural. Su posición en la cadena viene definida por el NumberFormatInfo.CurrencyPositivePattern propiedad de la NumberFormatInfo objeto devuelto por la GetFormat método de la provider parámetro. El símbolo de moneda puede aparecer en s Si style incluye la NumberStyles.AllowCurrencySymbol marca.

signo

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 style incluye la NumberStyles.AllowLeadingSign marca, o al final de s Si style incluye la NumberStyles.AllowTrailingSign marca.

digits

Una secuencia de dígitos del 0 al 9.

.

Separador decimal de la referencia cultural específica. El símbolo de separador decimal de la referencia cultural especificada por provider pueden aparecer en s Si style incluye la NumberStyles.AllowDecimalPoint marca.

dígitos fraccionarios

Una o más apariciones del dígito 0. Pueden aparecer dígitos fraccionarios en s sólo si style incluye la NumberStyles.AllowDecimalPoint marca.

e

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

dígitos hexadecimales

Una secuencia de dígitos hexadecimales de 0 a f o de 0 a f el.

Una cadena únicamente por dígitos decimales (que corresponde a la NumberStyles.None estilo) siempre se analiza correctamente. La mayoría de los restantes NumberStyles miembros controlan los elementos que pueden estar, aunque no tienen que estar presentes en esta cadena de entrada. La tabla siguiente indica cómo individuales NumberStyles miembros afectan a los elementos que pueden estar presentes en s.

Valores NumberStyles no compuestos

Elementos permitidos en s además de dígitos

NumberStyles.None

Dígitos decimales.

NumberStyles.AllowDecimalPoint

El . y dígitos fraccionarios elementos. Sin embargo, dígitos fraccionarios debe constar de uno o más dígitos 0 o el método devuelve false.

NumberStyles.AllowExponent

El s parámetro también puede utilizar la notación exponencial. Si s representa un número en notación exponencial, debe representar un entero dentro del intervalo de la Byte tipo de datos sin un componente fraccionario distinto de cero.

NumberStyles.AllowLeadingWhite

El ws elemento situado al principio de s.

NumberStyles.AllowTrailingWhite

El ws elemento al final de s.

NumberStyles.AllowLeadingSign

Puede aparecer un signo positivo antes dígitos.

NumberStyles.AllowTrailingSign

Puede aparecer un signo positivo después dígitos.

NumberStyles.AllowParentheses

Aunque se admite este marcador, el método devuelve false si están presentes en paréntesis s.

NumberStyles.AllowThousands

Aunque el símbolo de separador de grupos puede aparecer en s, puede ir precedida de uno o más dígitos 0.

NumberStyles.AllowCurrencySymbol

El $ elemento.

Si el NumberStyles.AllowHexSpecifier se utiliza la marca, s debe ser un valor hexadecimal sin prefijo. Por ejemplo, "F3" se analiza correctamente, pero no "0xF3". Los únicos otros marcadores que pueden estar presentes en style son NumberStyles.AllowLeadingWhite y NumberStyles.AllowTrailingWhite. (El NumberStyles enumeración tiene un estilo de número compuesto, NumberStyles.HexNumber, que incluye ambos marcadores de espacio en blanco.)

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

El ejemplo siguiente se llama el TryParse(String, NumberStyles, IFormatProvider, Byte) método con un número de 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.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 2.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: