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 IFormattable.ToString (String, IFormatProvider)

 

Publicado: octubre de 2016

Da formato al valor de la instancia actual usando el formato especificado.

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

string ToString(
	string format,
	IFormatProvider formatProvider
)

Parámetros

format
Type: System.String

Formato que se usará.

O bien

Referencia nula (Nothing en Visual Basic) para usar el formato predeterminado definido para el tipo de la implementación IFormattable.

formatProvider
Type: System.IFormatProvider

Proveedor que se va a usar para dar formato al valor.

O bien

Referencia nula (Nothing en Visual Basic) para obtener la información de formato numérico de la configuración regional actual del sistema operativo.

Valor devuelto

Type: System.String

Valor de la instancia actual en el formato especificado.

El ToString método convierte un valor en una representación de cadena que se puede expresar de varias maneras. Su formato preciso depende de símbolos concretos o de un orden especificado definido por referencias culturales concretas, profesiones o industrias. Puede llamar al método directamente. También se llama de forma automática la Convert.ToString(Object) y Convert.ToString(Object, IFormatProvider) métodos y métodos que utiliza el formato compuesto de características de .NET Framework, como String.Format(String, Object[]), Console.WriteLine(String, Object[]), y StringBuilder.AppendFormat(String, Object[]). (Para obtener más información, vea Formatos compuestos).

Llamada a métodos de formato compuesto el ToString método una vez para cada elemento de formato en una cadena de formato. Los parámetros pasados al método dependen en el método de formato específico que se llama y en el contenido del elemento de formato, como se indica a continuación:

  • Si el elemento de formato no incluye una cadena de formato (por ejemplo, si el elemento de formato es simplemente {0}), se pasa null como el valor de la System.String parámetro.

  • Si el elemento de formato incluye una cadena de formato (por ejemplo, {0:G}), que la cadena de formato se pasa como el valor de la System.String parámetro.

  • Si la llamada al método original no incluye un System.IFormatProvider parámetro, CultureInfo.CurrentCulture se pasa como el valor de la System.IFormatProvider parámetro.

  • Si la llamada al método original incluye un System.IFormatProvider parámetro, el proveedor que se proporciona en la llamada al método se pasa como el valor de la System.IFormatProvider parámetro.

System_CAPS_noteNota

Un objeto ToString métodos de formato compuesto llama a implementación sólo si no se les pasa un ICustomFormatter proveedor de formato, o si la Format método del proveedor de formato personalizado devuelve null.

.NET Framework incluye tres proveedores de formato, que implementan la IFormatProvider interfaz:

  • NumberFormatInfoProporciona numérico información, como los caracteres que se usarán para decimal y separadores de grupos, de formato y la ortografía y la colocación de los símbolos de divisa en valores monetarios.

  • DateTimeFormatInfoProporciona información de formato relacionados con la hora y fecha, como la posición del mes, el día y el año en un patrón de fecha.

  • CultureInfocontiene la información en una referencia cultural específica, incluida la información de formato numérico e información de formato relacionados con la hora y fecha de formato predeterminado.

Además, puede definir su propio proveedor de formato personalizado.

Notas para implementadores:

El ToString método debe ser compatible con el especificador de formato (general) "G". Además el especificador "G", la clase puede definir la lista de especificadores de formato que admite. Además, la clase debe estar preparada para controlar un especificador de formato que es null. Para obtener más información sobre formato y códigos de formato, vea Aplicar formato a tipos en .NET Framework.

En el ejemplo siguiente se muestra un Temperature clase que implementa el ToString método. Este ejemplo de código forma parte de un ejemplo mayor proporcionado para el IFormattable clase.

using System;
using System.Globalization;

public class Temperature : IFormattable
{
   private decimal temp;

   public Temperature(decimal temperature)
   {
      if (temperature < -273.15m) 
        throw new ArgumentOutOfRangeException(String.Format("{0} is less than absolute zero.", 
                                              temperature));
      this.temp = temperature;
   }

   public decimal Celsius
   {
      get { return temp; }
   }

   public decimal Fahrenheit
   {
      get { return temp * 9 / 5 + 32; }
   }

   public decimal Kelvin
   {
      get { return temp + 273.15m; }
   }

   public override string ToString()
   {
      return this.ToString("G", CultureInfo.CurrentCulture);
   }

   public string ToString(string format)
   {
      return this.ToString(format, CultureInfo.CurrentCulture);
   }

   public string ToString(string format, IFormatProvider provider) 
   {
      if (String.IsNullOrEmpty(format)) format = "G";
      if (provider == null) provider = CultureInfo.CurrentCulture;

      switch (format.ToUpperInvariant())
      {
         case "G":
         case "C":
            return temp.ToString("F2", provider) + " °C"; 
         case "F":
            return Fahrenheit.ToString("F2", provider) + " °F";
         case "K":
            return Kelvin.ToString("F2", provider) + " K";
         default:
            throw new FormatException(String.Format("The {0} format string is not supported.", format));
      }
   }
}

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
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: