Cenni preliminari sulla formattazione

Aggiornamento: novembre 2007

In .NET Framework è disponibile un meccanismo di formattazione di utilizzo generale personalizzabile per la conversione di un valore in una stringa appropriata per la visualizzazione. Un valore numerico può ad esempio essere formattato con la notazione scientifica o esadecimale oppure utilizzando una serie di cifre suddivise in gruppi mediante un segno di punteggiatura specificato dall'utente. Le date e le ore possono essere formattate in modo appropriato per un determinato paese, regione o per specifiche impostazioni cultura. Una costante enumerata può infine essere formattata come valore numerico o come nome.

La formattazione viene controllata specificando una stringa di formato e un provider di formato oppure utilizzando le impostazioni predefinite. Una stringa di formato contiene uno o più caratteri dell'identificatore di formato che indicano come deve essere convertito un valore. Un provider di formato fornisce le ulteriori informazioni sulla lingua, sulla sostituzione e sul controllo necessarie per convertire un tipo specifico.

È possibile eseguire l'override dell'interpretazione di una stringa di formato in .NET Framework implementando l'interfaccia IFormattable, fornire un provider di formato personalizzato implementando l'interfaccia IFormatProvider e personalizzare la formattazione implementando l'interfaccia ICustomFormatter.

.NET Framework include una funzionalità, denominata formattazione composta, che consente di utilizzare una o più stringhe di formato per incorporare uno o più valori formattati in una stringa di risultati. La stringa di risultati può essere utilizzata per un'ulteriore elaborazione, visualizzata nella console di sistema oppure scritta in un flusso.

Identificatori di formato

In .NET Framework sono disponibili identificatori di formato standard e personalizzati per la formattazione di numeri, date, ore ed enumerazioni. Gli identificatori di formato vengono utilizzati da vari metodi con cui vengono formattate le stringhe di output, tra cui Console.WriteLine e i singoli overload del metodo ToString di determinati tipi, e da alcuni metodi con cui vengono analizzate le stringhe di input, ad esempio Parse e DateTime.ParseExact.

Per informazioni sulla formattazione di dati numerici, vedere Stringhe di formato numerico. Per una tabella degli identificatori di formato numerico utilizzati più frequentemente, vedere Stringhe di formato numerico standard. Per una tabella degli identificatori di formato personalizzati utilizzabili per creare una stringa di formato, vedere Stringhe di formato numerico personalizzato.

Per informazioni sulla formattazione di date e ore, vedere Stringhe di formato di data e ora. Per una tabella degli identificatori di formato di data e ora utilizzati più frequentemente, vedere Stringhe di formato DateTime standard. Per una tabella degli identificatori di formato di data e ora personalizzati utilizzabili per creare una stringa di formato personalizzato, vedere Stringhe di formato DateTime personalizzato.

Per informazioni sull'esecuzione di alcune operazioni di formattazione specifiche, ad esempio l'estrazione del giorno della settimana da una data specifica o la visualizzazione della data utilizzando un calendario non gregoriano, vedere Procedure relative alla formattazione.

Per informazioni sulla formattazione di enumerazioni e una tabella degli identificatori di formato di enumerazione standard, vedere Stringhe di formato di enumerazione.

Analisi e identificatori di formato

Con la formattazione, il valore di un tipo viene convertito in una rappresentazione di stringa. Con l'analisi, che costituisce l'operazione inversa rispetto alla formattazione, viene creato un tipo di dati da una rappresentazione di stringa. L'esecuzione dell'analisi è controllata da un provider di formato. Alcuni metodi, tra cui DateTime.ParseExact, accettano inoltre un parametro costituito da un identificatore di formato che indica il formato previsto della rappresentazione di stringa. Per ulteriori informazioni sull'analisi, vedere Analisi delle stringhe.

Identificatori di formato e ToString

.NET Framework supporta l'overload del metodo ToString predefinito di un tipo, con cui viene eseguita una formattazione rudimentale, con una versione specializzata di ToString che utilizza un parametro costituito da un identificatore di formato per indicare il modo in cui deve essere formattato il valore. Per ulteriori informazioni, vedere Formattazione dei tipi di base e l'interfaccia IFormattable.

Provider di formato

I provider di formato forniscono informazioni quali il carattere da utilizzare come separatore decimale nella formattazione di stringhe numeriche o il carattere di separazione da utilizzare nella formattazione di un oggetto DateTime. I provider di formato definiscono i caratteri utilizzati per la formattazione dagli identificatori di formato, ma non definiscono gli identificatori stessi.

Un provider di formato può essere passato all'overload di ToString richiesto dall'interfaccia IFormattable oppure, nel caso in cui non venga passato alcun provider di formato, può essere predeterminato dal metodo utilizzato per formattare il testo.

Quando non viene passato alcun provider di formato, le informazioni vengono inferite oppure ottenute da uno dei provider di formato standard inclusi in .NET Framework. In genere, le classi che implementano IFormattable forniscono anche overload di ToString che accettano solo un identificatore di formato o un provider di formato. Il metodo ToString predefinito, che non accetta alcun parametro, viene ereditato dalla classe Object.

Per informazioni sul provider di formato predefinito per i dati numerici, vedere NumberFormatInfo. Per informazioni sul provider di formato predefinito per date e ore, vedere DateTimeFormatInfo. Per informazioni sulla creazione di un provider di formato personalizzato o di un provider di formato per impostazioni cultura diverse, vedere CultureInfo, Formattazione per impostazioni cultura differenti e Procedura: definire e utilizzare provider di formati numerici personalizzati.

Formattazione composta

La funzionalità di formattazione composta di .NET Framework, supportata da metodi quali String.Format e i metodi di output di System.Console e System.IO.TextWriter, consente di sostituire ciascun elemento di formato indicizzato incorporato in una stringa di origine con l'elemento formattato equivalente all'interno di un elenco di valori. Per ulteriori informazioni, vedere Formattazione composta.

Vedere anche

Concetti

Stringhe di formato numerico

Stringhe di formato di data e ora

Stringhe di formato di enumerazione

Personalizzazione di stringhe di formato

Formattazione composta

Procedure relative alla formattazione

Riferimenti

IFormattable

IFormatProvider

ICustomFormatter

Altre risorse

Formattazione dei tipi di dati

Analisi delle stringhe

Operazioni di base sulle stringhe