Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

IFormattable.ToString-Methode: (String, IFormatProvider)

 

Veröffentlicht: Oktober 2016

Formatiert den Wert der aktuellen Instanz mit dem angegebenen Format.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

string ToString(
	string format,
	IFormatProvider formatProvider
)

Parameter

format
Type: System.String

Das zu verwendende Format.

- oder -

Ein NULL-Verweis (Nothing in Visual Basic), um das Standardformat zu verwenden, das für den Typ der IFormattable-Implementierung definiert ist.

formatProvider
Type: System.IFormatProvider

Der zum Formatieren des Werts zu verwendende Anbieter.

- oder -

Ein NULL-Verweis (Nothing in Visual Basic), um die Zahlenformatinformationen aus dem aktuellen Gebietsschema des Betriebssystems abzurufen.

Rückgabewert

Type: System.String

Der Wert der aktuellen Instanz im angegebenen Format.

Die ToString Methode konvertiert einen Wert in eine Zeichenfolgendarstellung, die auf verschiedene Weise ausgedrückt werden können. Das genaue Format hängt davon ab, Symbole oder einer bestimmten Reihenfolge, die durch bestimmte Kulturen, Berufe oder Branchen definiert. Sie können die Methode direkt aufrufen. Es wird auch automatisch vom bezeichnet den Convert.ToString(Object) und Convert.ToString(Object, IFormatProvider) Methoden, und durch Methoden, die die kombinierte Formatierung verwenden Funktionen in .NET Framework, z. B. String.Format(String, Object[]), Console.WriteLine(String, Object[]), und StringBuilder.AppendFormat(String, Object[]). (Weitere Informationen finden Sie unter Kombinierte Formatierung.)

Kombinierte Formatierung Aufruf der Methoden der ToString Methode einmal für jedes Formatelement in einer Formatzeichenfolge. An die Methode übergebenen Parameter hängen bestimmte Formatierungsmethode auf, die aufgerufen wird und der Inhalt des Formatelements, wie folgt:

  • Wenn das Formatelement keine Formatzeichenfolge einschließt (z. B., wenn das Formatelement einfach ist {0}), übergeben null als Wert für die System.String Parameter.

  • Wenn das Formatelement eine Formatzeichenfolge enthält (z. B. {0:G}), Formatzeichenfolge als Wert übergeben wird die System.String Parameter.

  • Wenn der Aufruf der ursprünglichen Methode nicht enthalten ist ein System.IFormatProvider Parameter CultureInfo.CurrentCulture wird als Wert übergeben der System.IFormatProvider Parameter.

  • Wenn der ursprüngliche Methodenaufruf enthält ein System.IFormatProvider Parameter, wird der Anbieter, der im Aufruf Methode bereitgestellt wird als Wert des übergeben der System.IFormatProvider Parameter.

System_CAPS_noteHinweis

Ein Objekt ToString -Implementierung von Methoden zur kombinierten Formatierung aufgerufen wird nur dann, wenn sie nicht übergeben werden ein ICustomFormatter Formatanbieter, oder wenn die Format des Anbieters benutzerdefiniertes Format Methodenrückgabe null.

.NET Framework enthält drei Formatanbietern, die alle durch Implementieren der IFormatProvider Schnittstelle:

  • NumberFormatInfoLiefert Informationen, z. B. die zu verwendenden Zeichen für Dezimalzahl und Gruppentrennzeichen und die Schreibweise und Platzierung der Währungssymbole in monetäre Werte.

  • DateTimeFormatInfoliefert datumsbezogenen und zeitbezogene Formatierungsinformationen, wie z. B. die Position des Monats, den Tag und das Jahr in einem Datumsmuster.

  • CultureInfoenthält der standardformatierung Informationen in einer bestimmten Kultur, einschließlich der Informationen numerischen Format und Formatierungsinformationen für Datums- und Zeitangaben.

Darüber hinaus können Sie eigene benutzerdefinierte Formatanbieter definieren.

Hinweise für Implementierer:

Die ToString Methode muss den (Allgemein) Formatbezeichner "G" unterstützen. Neben der Formatbezeichner "G" kann die Klasse die Liste der Formatbezeichner definieren, die es unterstützt. Darüber hinaus muss die Klasse vorbereitet werden, um einen Formatbezeichner behandelt wird null. Weitere Informationen zur Formatierung und Formatierungscodes finden Sie unter Formatieren von Typen in .NET Framework.

Das folgende Beispiel zeigt eine Temperature Klasse, die implementiert die ToString Methode. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die IFormattable Klasse.

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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: