Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo IFormattable.ToString

Formatta il valore dell'istanza corrente utilizzando il formato specificato.

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)

string ToString(
	string format,
	IFormatProvider formatProvider
)

Parametri

format
Tipo: System.String
Formato da utilizzare
- oppure -
Riferimento Null (Nothing in Visual Basic) per utilizzare il formato definito per il tipo di implementazione di IFormattable.
formatProvider
Tipo: System.IFormatProvider
Provider da utilizzare per formattare il valore.
- oppure -
Riferimento Null (Nothing in Visual Basic) per ottenere le informazioni sul formato numerico dalle impostazioni locali correnti del sistema operativo.

Valore restituito

Tipo: System.String
Valore dell'istanza corrente nel formato specificato.

Il metodo ToString converte un valore in una rappresentazione di stringa che può essere espressa in più modi. Il formato preciso dipende da simboli specifici o da un ordine specificato definito da impostazioni cultura, professioni o settori specifici. È possibile chiamare il metodo direttamente. Viene anche chiamato automaticamente dai metodi Convert.ToString(Object) e Convert.ToString(Object, IFormatProvider) e dai metodi che utilizzano la funzionalità di formattazione composita in .NET Framework, come String.Format(String, Object[]), Console.WriteLine(String, Object[]) e StringBuilder.AppendFormat(String, Object[]). Per ulteriori informazioni, vedere Formattazione composta.

I metodi di formattazione composita richiedono l'utilizzo del metodo ToString una volta per ogni elemento in una stringa di formato. I parametri passati al metodo dipendono dal metodo di formattazione specifico chiamato e dal contenuto dell'elemento di formato e sono i seguenti:

  • Se l'elemento di formato non include una stringa di formato (ad esempio se l'elemento di formato è semplicemente {0}), viene passato null come valore del parametro System.String.

  • Se l'elemento di formato include una stringa di formato (ad esempio {0:G}), tale stringa di formato viene passata come valore del parametro System.String.

  • Se la chiamata al metodo originale non include un parametro System.IFormatProvider, la proprietà CultureInfo.CurrentCulture viene passata come valore del parametro System.IFormatProvider.

  • Se la chiamata al metodo originale include un parametro System.IFormatProvider, il provider fornito nella chiamata al metodo viene passato come valore del parametro System.IFormatProvider.

NotaNota

L'implementazione ToString di un oggetto viene chiamata dai metodi di formattazione composti solo se non sono passati in un provider di formato ICustomFormatter o se il metodo Format del provider di formattazione personalizzato restituisca null.

.NET Framework include tre provider di formato, e tutti implementano l'interfaccia IFormatProvider:

  • NumberFormatInfo fornisce informazioni sulla formattazione dei numeri, come ad esempio i caratteri da utilizzare per i separatori dei decimali e delle migliaia, nonché l'ortografia e la posizione dei simboli di valuta nei valori monetari.

  • DateTimeFormatInfo fornisce informazioni sulla formattazione della data e dell'ora, come ad esempio la posizione del giorno, del mese e dell'anno in un modello di data.

  • CultureInfo contiene le informazioni sulla formattazione predefinita in specifiche impostazioni cultura, comprese le informazioni sul formato dei numeri, della data e dell'ora.

Inoltre, è possibile definire il proprio provider di formato personalizzato.

Note per gli implementatori

Il metodo ToString deve supportare l'identificatore di formato "G" (generale). Oltre all'identificatore "G", la classe può definire l'elenco degli identificatori di formato supportati. Inoltre, è necessario preparare la classe per gestire un identificatore di formato null. Per ulteriori informazioni sulla formattazione e sui codici di formattazione, vedere Formattazione dei tipi di dati.

Nell'esempio riportato di seguito viene illustrata una classe Temperature che implementa il metodo ToString. Questo esempio di codice fa parte di un esempio più esaustivo fornito per la classe IFormattable.


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


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft