Übersicht über Formatierung

.NET Framework bietet einen anpassbaren, für allgemeine Zwecke vorgesehenen Formatierungsmechanismus zum Konvertieren eines Werts in eine für die Anzeige geeignete Zeichenfolge. Ein numerischer Wert kann beispielsweise als hexadezimale, wissenschaftliche Notation oder als Reihe von Ziffern formatiert werden, die unter Verwendung eines vom Benutzer festgelegten Satzzeichens in Gruppen unterteilt wird. Datums- und Uhrzeitangaben können wie erforderlich für ein bestimmtes Land, eine bestimmte Region oder Kultur formatiert werden. Eine Enumerationskonstante kann als numerischer Wert oder Name formatiert werden.

Die Formatierung wird gesteuert, indem Sie eine Formatzeichenfolge und einen Formatanbieter festlegen oder die Standardeinstellungen verwenden. Eine Formatzeichenfolge enthält mindestens einen Formatbezeichner, der angibt, wie ein Wert konvertiert werden soll. Ein Formatanbieter liefert zusätzliche Steuerungs-, Ersetzungs- und Kulturinformationen, die für die Konvertierung eines bestimmten Typs benötigt werden.

Sie können die .NET Framework-Interpretation einer Formatzeichenfolge überschreiben. Dazu implementieren Sie die IFormattable-Schnittstelle, stellen einen eigenen Formatanbieter bereit, indem Sie die IFormatProvider-Schnittstelle implementieren, und führen eine eigene Formatierung aus, indem Sie die ICustomFormatter-Schnittstelle implementieren.

.NET Framework stellt ein als kombinierte Formatierung bezeichnetes Feature zur Verfügung, bei dem mindestens ein formatierter Wert mithilfe einer Formatzeichenfolge in eine Ergebniszeichenfolge eingebettet wird. Die Ergebniszeichenfolge kann weiter verarbeitet, in der Systemkonsole angezeigt oder in einen Stream geschrieben werden.

Formatbezeichner

.NET Framework definiert als Standard verwendete und benutzerdefinierte Formatbezeichner für die Formatierung von Zahlen, Datums- und Uhrzeitangaben sowie Enumerationen. Formatbezeichner werden von verschiedenen Methoden verwendet, die Ausgabezeichenfolgen formatieren, z. B. von Console.WriteLine und von der ToString-Methode eines beliebigen Typs. Weiterhin werden Formatbezeichner von bestimmten Methoden verwendet, die Eingabezeichenfolgen analysieren, z. B. von DateTime.ParseExact.

Weitere Informationen über das Formatieren von numerischen Daten finden Sie unter Zahlenformatzeichenfolgen. Eine Tabelle mit häufig verwendeten Zahlenformatbezeichnern finden Sie unter Standardmäßige Zahlenformatzeichenfolgen. Eine Tabelle mit benutzerdefinierten Formatbezeichnern, die zum Erstellen eigener Formatzeichenfolgen verwendet werden können, finden Sie unter Benutzerdefinierte Zahlenformatzeichenfolgen.

Informationen über das Formatieren von Datums- und Uhrzeitangaben finden Sie unter Formatzeichenfolgen für Datum und Uhrzeit. Eine Tabelle mit häufig verwendeten Formatbezeichnern für Datums- und Uhrzeitangaben finden Sie unter DateTime-Standardformatzeichenfolgen. Eine Tabelle mit benutzerdefinierten Formatbezeichnern für Datums- und Uhrzeitangaben, die zum Erstellen eigener Formatzeichenfolgen verwendet werden können, finden Sie unter Benutzerdefinierte DateTime-Formatzeichenfolgen.

Informationen über das Formatieren von Enumerationen und eine Tabelle mit Formatbezeichnern für Standardenumerationen finden Sie unter Enumerationsformatzeichenfolgen.

Verarbeitung und Formatbezeichner

Beim Formatieren wird der Wert eines Typs in eine Zeichenfolgenentsprechung konvertiert. Beim Verarbeiten, dem Umkehrvorgang der Formatierung, wird aus einer Zeichenfolgenentsprechung ein Datentyp erstellt. Die Verarbeitung (Parsing) wird über einen Formatbezeichner gesteuert. Bestimmte Methoden, z. B. DateTime.ParseExact, akzeptieren einen Formatbezeichnerparameter, der das erwartete Format der Zeichenfolgenentsprechung angibt. Weitere Informationen über das Verarbeiten finden Sie unter Verarbeiten von Zeichenfolgen.

"ToString" und Formatbezeichner

.NET Framework unterstützt eine Überladung der ToString-Standardmethode für einen Typ durch eine spezielle ToString-Version. Mit der Standardversion wird eine rudimentäre Formatierung ausgeführt, und bei der speziellen Version wird durch einen Formatbezeichnerparameter angegeben, wie der Wert formatiert werden soll. Weitere Informationen finden Sie unter Formatierung von Basistypen und der IFormattable-Schnittstelle.

Formatanbieter

Formatanbieter stellen Informationen über Zeichen bereit, z. B. über das beim Formatieren von numerischen Zeichenfolgen als Dezimaltrennzeichen zu verwendende Zeichen oder das beim Formatieren eines DateTime-Objekts als Trennzeichen zu verwendende Zeichen. Formatanbieter definieren die von Formatbezeichnern beim Formatieren verwendeten Zeichen, aber nicht die Bezeichner selbst.

Ein Formatanbieter kann an die Überladung von ToString übergeben werden, die für die IFormattable-Schnittstelle erforderlich ist, oder durch die Methode zur Formatierung von Text vordefiniert werden, wenn kein Formatanbieter übergeben wird.

Wenn kein Formatanbieter übergeben wird, werden die Informationen hergeleitet oder von einem der Standardformatanbieter in .NET Framework abgerufen. Im Allgemeinen bieten Klassen, die IFormattable implementieren, ebenfalls Überladungen von ToString, die nur einen Formatbezeichner oder nur einen Formatanbieter akzeptieren. Die ToString-Standardmethode, die keine Parameter akzeptiert, wird von der Object-Klasse vererbt.

Informationen über den vordefinierten Formatanbieter für numerische Klassen finden Sie unter NumberFormatInfo. Informationen über den vordefinierten Formatanbieter für Datums- und Uhrzeitangaben finden Sie unter DateTimeFormatInfo. Informationen über das Erstellen eines benutzerdefinierten Formatanbieters oder eines Formatanbieters für eine andere Kultur finden Sie unter CultureInfo und Formatieren für unterschiedliche Kulturen.

Kombinierte Formatierung

Das Feature für die kombinierte Formatierung in .NET Framework wird von Methoden wie String.Format und den Ausgabemethoden von System.Console und System.IO.TextWriter unterstützt und ersetzt jedes in eine Quellzeichenfolge eingebettete indizierte Formatelement durch die formatierte Entsprechung eines zugehörigen Elements in einer Werteliste. Weitere Informationen finden Sie unter Kombinierte Formatierung.

Siehe auch

Referenz

IFormattable Interface
IFormatProvider Interface
ICustomFormatter Interface

Konzepte

Zahlenformatzeichenfolgen
Formatzeichenfolgen für Datum und Uhrzeit
Enumerationsformatzeichenfolgen
Anpassen von Formatzeichenfolgen
Kombinierte Formatierung

Weitere Ressourcen

Formatierung von Typen
Verarbeiten von Zeichenfolgen
Grundlegende Zeichenfolgenoperationen