Auf Englisch lesen

Freigeben über


String.Format Methode

Definition

Wandelt den Wert von Objekten basierend auf den angegebenen Formaten in Zeichenfolgen um und fügt sie in eine andere Zeichenfolge ein.

Wenn Sie mit der String.Format-Methode noch nicht vertraut sind, finden Sie unter Erste Schritte mit der String.Format-Methode eine kurze Übersicht.

Überlädt

Format(IFormatProvider, String, Object[])

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellungen entsprechender Objekte in einem angegebenen Array. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

Format(IFormatProvider, String, Object, Object, Object)

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung von drei angegebenen Objekten. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

Format(String, Object, Object, Object)

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung von drei angegebenen Objekten.

Format(IFormatProvider, String, Object, Object)

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung von zwei angegebenen Objekten. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

Format(String, Object, Object)

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung von zwei angegebenen Objekten.

Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

Format(IFormatProvider, String, Object)

Ersetzt das Formatelement oder die Elemente in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung des entsprechenden Objekts. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

Format(IFormatProvider, String, ReadOnlySpan<Object>)

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellungen entsprechender Objekte in einer angegebenen Spanne. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

Format(String, ReadOnlySpan<Object>)

Ersetzt das Formatelement in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines entsprechenden Objekts in einer angegebenen Spanne.

Format(String, Object[])

Ersetzt das Formatelement in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines entsprechenden Objekts in einem angegebenen Array.

Format(String, Object)

Ersetzt ein oder mehrere Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung eines angegebenen Objekts.

Format(IFormatProvider, CompositeFormat, Object[])

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

Format<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2)

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

Format<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1)

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

Format<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

Hinweise

Weitere Informationen zu dieser API finden Sie unter Ergänzende API-Hinweise für string.Format.

Format(IFormatProvider, String, Object[])

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellungen entsprechender Objekte in einem angegebenen Array. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

public static string Format (IFormatProvider provider, string format, params object[] args);
public static string Format (IFormatProvider? provider, string format, params object?[] args);

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

args
Object[]

Ein Objektarray, das null oder mehr Zu formatierende Objekte enthält.

Gibt zurück

Eine Kopie von format, in der die Formatelemente durch die Zeichenfolgendarstellung der entsprechenden Objekte in argsersetzt wurden.

Ausnahmen

format oder args ist null.

format ist ungültig.

-oder-

Der Index eines Formatelements ist kleiner als Null oder größer als oder gleich der Länge des args Arrays.

Hinweise

Wichtig

Anstatt die String.Format-Methode aufzurufen oder zusammengesetzte Formatzeichenfolgenzu verwenden, können Sie interpolierten Zeichenfolgen verwenden, wenn ihre Sprache sie unterstützt. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierten Ausdrückeenthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge einbezogen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und interpolierten Zeichenfolgen (Visual Basic-Referenz).

Diese Methode verwendet das zusammengesetzte Formatierungsfeature, um vier oder mehr Ausdrücke in ihre Zeichenfolgendarstellungen zu konvertieren und diese Darstellungen in eine Zeichenfolge einzubetten. Bei der Konvertierung verwendet die Methode kultursensitive Formatierungen oder einen benutzerdefinierten Formatierer. Die Methode konvertiert jedes Object-Argument in seine Zeichenfolgendarstellung, indem seine ToString(IFormatProvider) Methode aufgerufen wird, oder wenn das entsprechende Formatelement des Objekts eine Formatzeichenfolge enthält, indem die ToString(String,IFormatProvider) Methode aufgerufen wird. Wenn diese Methoden nicht vorhanden sind, ruft sie die parameterlose ToString--Methode auf.

Beim Aufrufen der String.Format-Methode ist es jedoch nicht erforderlich, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie die Methode mit einem Objekt aufrufen, das kultursensitive oder benutzerdefinierte Formatierungen bereitstellt, und eine zusammengesetzten Formatzeichenfolge, die mindestens ein Formatelemente enthält. Sie weisen jedem Formatelement einen numerischen Index zu; der erste Index beginnt bei 0. Zusätzlich zur ursprünglichen Zeichenfolge sollte der Methodenaufruf so viele zusätzliche Argumente wie Indexwerte aufweisen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente Indizes von 0 und 1 haben, 2 Argumente aufweisen; eine mit Indizes 0 bis 5 sollte 6 Argumente haben. Der Sprachcompiler löst dann den Methodenaufruf zu einer bestimmten Überladung der String.Format-Methode auf.

Ausführlichere Dokumentation zur Verwendung der String.Format-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode wird aufgerufen?.

Beispiel: Kultursensible Formatierung

In diesem Beispiel wird die Format(IFormatProvider, String, Object[])-Methode verwendet, um die Zeichenfolgendarstellung einiger Datums- und Uhrzeitwerte und numerischer Werte mithilfe verschiedener Kulturen anzuzeigen.

string[] cultureNames = { "en-US", "fr-FR", "de-DE", "es-ES" };

DateTime dateToDisplay = new DateTime(2009, 9, 1, 18, 32, 0);
double value = 9164.32;

Console.WriteLine("Culture     Date                                Value\n");
foreach (string cultureName in cultureNames)
{
   System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
   string output = String.Format(culture, "{0,-11} {1,-35:D} {2:N}", 
                                 culture.Name, dateToDisplay, value);
   Console.WriteLine(output);
}    
// The example displays the following output:
//    Culture     Date                                Value
//    
//    en-US       Tuesday, September 01, 2009         9,164.32
//    fr-FR       mardi 1 septembre 2009              9 164,32
//    de-DE       Dienstag, 1. September 2009         9.164,32
//    es-ES       martes, 01 de septiembre de 2009    9.164,32

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, String, Object, Object, Object)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung von drei angegebenen Objekten. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

public static string Format (IFormatProvider provider, string format, object arg0, object arg1, object arg2);
public static string Format (IFormatProvider? provider, string format, object? arg0, object? arg1, object? arg2);

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

arg0
Object

Das erste zu formatierende Objekt.

arg1
Object

Das zweite zu formatierende Objekt.

arg2
Object

Das dritte zu formatierende Objekt.

Gibt zurück

Eine Kopie von format, in der die Formatelemente durch die Zeichenfolgendarstellungen von arg0, arg1und arg2ersetzt wurden.

Ausnahmen

format ist null.

format ist ungültig.

-oder-

Der Index eines Formatelements ist kleiner als Null oder größer als zwei.

Hinweise

Wichtig

Anstatt die String.Format-Methode aufzurufen oder zusammengesetzte Formatzeichenfolgenzu verwenden, können Sie interpolierten Zeichenfolgen verwenden, wenn ihre Sprache sie unterstützt. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierten Ausdrückeenthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge einbezogen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und interpolierten Zeichenfolgen (Visual Basic-Referenz).

Diese Methode verwendet das zusammengesetzte Formatierungsfeature, um drei Ausdrücke in ihre Zeichenfolgendarstellungen zu konvertieren und diese Darstellungen in eine Zeichenfolge einzubetten. Bei der Konvertierung verwendet die Methode kultursensitive Formatierungen oder einen benutzerdefinierten Formatierer. Die Methode konvertiert jedes Object-Argument in seine Zeichenfolgendarstellung, indem seine ToString(IFormatProvider) Methode aufgerufen wird, oder wenn das entsprechende Formatelement des Objekts eine Formatzeichenfolge enthält, indem die ToString(String,IFormatProvider) Methode aufgerufen wird. Wenn diese Methoden nicht vorhanden sind, ruft sie die parameterlose ToString--Methode auf.

Beim Aufrufen der String.Format-Methode ist es jedoch nicht erforderlich, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie die Methode mit einem Objekt aufrufen, das kultursensitive oder benutzerdefinierte Formatierungen bereitstellt, und eine zusammengesetzten Formatzeichenfolge, die mindestens ein Formatelemente enthält. Sie weisen jedem Formatelement einen numerischen Index zu; der erste Index beginnt bei 0. Zusätzlich zur ursprünglichen Zeichenfolge sollte der Methodenaufruf so viele zusätzliche Argumente wie Indexwerte aufweisen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente Indizes von 0 und 1 haben, 2 Argumente aufweisen; eine mit Indizes 0 bis 5 sollte 6 Argumente haben. Der Sprachcompiler löst dann den Methodenaufruf zu einer bestimmten Überladung der String.Format-Methode auf.

Ausführlichere Dokumentation zur Verwendung der String.Format-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode wird aufgerufen?.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(String, Object, Object, Object)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung von drei angegebenen Objekten.

public static string Format (string format, object arg0, object arg1, object arg2);
public static string Format (string format, object? arg0, object? arg1, object? arg2);

Parameter

arg0
Object

Das erste zu formatierende Objekt.

arg1
Object

Das zweite zu formatierende Objekt.

arg2
Object

Das dritte zu formatierende Objekt.

Gibt zurück

Eine Kopie von format, in der die Formatelemente durch die Zeichenfolgendarstellungen von arg0, arg1und arg2ersetzt wurden.

Ausnahmen

format ist null.

format ist ungültig.

-oder-

Der Index eines Formatelements ist kleiner als Null oder größer als zwei.

Hinweise

Wichtig

Anstatt die String.Format-Methode aufzurufen oder zusammengesetzte Formatzeichenfolgenzu verwenden, können Sie interpolierten Zeichenfolgen verwenden, wenn ihre Sprache sie unterstützt. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierten Ausdrückeenthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge einbezogen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und interpolierten Zeichenfolgen (Visual Basic-Referenz).

Diese Methode verwendet das zusammengesetzte Formatierungsfeature, um den Wert von drei Ausdrücken in ihre Zeichenfolgendarstellungen zu konvertieren und diese Darstellungen in eine Zeichenfolge einzubetten.

Beim Aufrufen der String.Format-Methode ist es jedoch nicht erforderlich, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie die Methode mit einer zusammengesetzten Formatzeichenfolge aufrufen, die mindestens ein Formatelemente enthält. Sie weisen jedem Formatelement einen numerischen Index zu; der erste Index beginnt bei 0. Zusätzlich zur ursprünglichen Zeichenfolge sollte der Methodenaufruf so viele zusätzliche Argumente wie Indexwerte aufweisen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente Indizes von 0 und 1 haben, 2 Argumente aufweisen; eine mit Indizes 0 bis 5 sollte 6 Argumente haben. Der Sprachcompiler löst dann den Methodenaufruf zu einer bestimmten Überladung der String.Format-Methode auf.

Ausführlichere Dokumentation zur Verwendung der String.Format-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode wird aufgerufen?.

Beispiel: Formatieren von drei Argumenten

In diesem Beispiel wird die Format(String, Object, Object, Object)-Methode verwendet, um eine Zeichenfolge zu erstellen, die das Ergebnis eines booleschen And Vorgangs mit zwei ganzzahligen Werten veranschaulicht. Beachten Sie, dass die Formatzeichenfolge sechs Formatelemente enthält, die Methode jedoch nur drei Elemente in der Parameterliste enthält, da jedes Element auf zwei verschiedene Arten formatiert ist.

string formatString = "    {0,10} ({0,8:X8})\n" + 
                      "And {1,10} ({1,8:X8})\n" + 
                      "  = {2,10} ({2,8:X8})";
int value1 = 16932;
int value2 = 15421;
string result = String.Format(formatString, 
                              value1, value2, value1 & value2);
Console.WriteLine(result);
// The example displays the following output:
//                16932 (00004224)
//       And      15421 (00003C3D)
//         =         36 (00000024)

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, String, Object, Object)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung von zwei angegebenen Objekten. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

public static string Format (IFormatProvider provider, string format, object arg0, object arg1);
public static string Format (IFormatProvider? provider, string format, object? arg0, object? arg1);

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

arg0
Object

Das erste zu formatierende Objekt.

arg1
Object

Das zweite zu formatierende Objekt.

Gibt zurück

Eine Kopie von format, in der Formatelemente durch die Zeichenfolgendarstellungen von arg0 und arg1ersetzt werden.

Ausnahmen

format ist null.

format ist ungültig.

-oder-

Der Index eines Formatelements ist nicht null oder eins.

Hinweise

Wichtig

Anstatt die String.Format-Methode aufzurufen oder zusammengesetzte Formatzeichenfolgenzu verwenden, können Sie interpolierten Zeichenfolgen verwenden, wenn ihre Sprache sie unterstützt. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierten Ausdrückeenthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge einbezogen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und interpolierten Zeichenfolgen (Visual Basic-Referenz).

Diese Methode verwendet das zusammengesetzte Formatierungsfeature, um zwei Ausdrücke in ihre Zeichenfolgendarstellungen zu konvertieren und diese Darstellungen in eine Zeichenfolge einzubetten. Bei der Konvertierung verwendet die Methode kultursensitive Formatierungen oder einen benutzerdefinierten Formatierer. Die Methode konvertiert jedes Object-Argument in seine Zeichenfolgendarstellung, indem seine ToString(IFormatProvider) Methode aufgerufen wird, oder wenn das entsprechende Formatelement des Objekts eine Formatzeichenfolge enthält, indem die ToString(String,IFormatProvider) Methode aufgerufen wird. Wenn diese Methoden nicht vorhanden sind, ruft sie die parameterlose ToString--Methode auf.

Beim Aufrufen der String.Format-Methode ist es jedoch nicht erforderlich, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie die Methode mit einem Objekt aufrufen, das kultursensitive oder benutzerdefinierte Formatierungen bereitstellt, und eine zusammengesetzten Formatzeichenfolge, die mindestens ein Formatelemente enthält. Sie weisen jedem Formatelement einen numerischen Index zu; der erste Index beginnt bei 0. Zusätzlich zur ursprünglichen Zeichenfolge sollte der Methodenaufruf so viele zusätzliche Argumente wie Indexwerte aufweisen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente Indizes von 0 und 1 haben, 2 Argumente aufweisen; eine mit Indizes 0 bis 5 sollte 6 Argumente haben. Der Sprachcompiler löst dann den Methodenaufruf zu einer bestimmten Überladung der String.Format-Methode auf.

Ausführlichere Dokumentation zur Verwendung der String.Format-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode wird aufgerufen?.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(String, Object, Object)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung von zwei angegebenen Objekten.

public static string Format (string format, object arg0, object arg1);
public static string Format (string format, object? arg0, object? arg1);

Parameter

arg0
Object

Das erste zu formatierende Objekt.

arg1
Object

Das zweite zu formatierende Objekt.

Gibt zurück

Eine Kopie von format, in der Formatelemente durch die Zeichenfolgendarstellungen von arg0 und arg1ersetzt werden.

Ausnahmen

format ist null.

format ist ungültig.

-oder-

Der Index eines Formatelements ist nicht null oder eins.

Hinweise

Wichtig

Anstatt die String.Format-Methode aufzurufen oder zusammengesetzte Formatzeichenfolgenzu verwenden, können Sie interpolierten Zeichenfolgen verwenden, wenn ihre Sprache sie unterstützt. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierten Ausdrückeenthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge einbezogen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und interpolierten Zeichenfolgen (Visual Basic-Referenz).

Diese Methode verwendet das zusammengesetzte Formatierungsfeature, um den Wert von zwei Ausdrücken in ihre Zeichenfolgendarstellungen zu konvertieren und diese Darstellungen in eine Zeichenfolge einzubetten.

Beim Aufrufen der String.Format-Methode ist es jedoch nicht erforderlich, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie die Methode mit einer zusammengesetzten Formatzeichenfolge aufrufen, die mindestens ein Formatelemente enthält. Sie weisen jedem Formatelement einen numerischen Index zu; der erste Index beginnt bei 0. Zusätzlich zur ursprünglichen Zeichenfolge sollte der Methodenaufruf so viele zusätzliche Argumente wie Indexwerte aufweisen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente Indizes von 0 und 1 haben, 2 Argumente aufweisen; eine mit Indizes 0 bis 5 sollte 6 Argumente haben. Der Sprachcompiler löst dann den Methodenaufruf zu einer bestimmten Überladung der String.Format-Methode auf.

Ausführlichere Dokumentation zur Verwendung der String.Format-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode wird aufgerufen?.

Beispiel: Formatieren von zwei Argumenten

In diesem Beispiel wird die Format(String, Object, Object)-Methode verwendet, um Zeit- und Temperaturdaten anzuzeigen, die in einem generischen Dictionary<TKey,TValue>-Objekt gespeichert sind. Beachten Sie, dass die Formatzeichenfolge drei Formatelemente enthält, obwohl es nur zwei Zu formatierende Objekte gibt. Dies liegt daran, dass das erste Objekt in der Liste (ein Datums- und Uhrzeitwert) von zwei Formatelementen verwendet wird: Das erste Formatelement zeigt die Uhrzeit an, und das zweite zeigt das Datum an.

Dictionary<DateTime, Double> temperatureInfo = new Dictionary<DateTime, Double>(); 
temperatureInfo.Add(new DateTime(2010, 6, 1, 14, 0, 0), 87.46);
temperatureInfo.Add(new DateTime(2010, 12, 1, 10, 0, 0), 36.81);

Console.WriteLine("Temperature Information:\n");
string output;   
foreach (var item in temperatureInfo)
{
   output = String.Format("Temperature at {0,8:t} on {0,9:d}: {1,5:N1}°F", 
                          item.Key, item.Value);
   Console.WriteLine(output);
}
// The example displays output like the following:
//       Temperature Information:
//       
//       Temperature at  2:00 PM on  6/1/2010:  87.5°F
//       Temperature at 10:00 AM on 12/1/2010:  36.8°F

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, ReadOnlySpan<object?> args);
public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, scoped ReadOnlySpan<object?> args);

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

args
ReadOnlySpan<Object>

Eine Spanne von Objekten, die formatiert werden sollen.

Gibt zurück

Die formatierte Zeichenfolge.

Ausnahmen

format ist null.

Der Index eines Formatelements ist größer oder gleich der Anzahl der angegebenen Argumente.

Gilt für:

.NET 9 und .NET 8
Produkt Versionen
.NET 8, 9

Format(IFormatProvider, String, Object)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt das Formatelement oder die Elemente in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung des entsprechenden Objekts. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

public static string Format (IFormatProvider provider, string format, object arg0);
public static string Format (IFormatProvider? provider, string format, object? arg0);

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

arg0
Object

Das zu formatierende Objekt.

Gibt zurück

Eine Kopie von format, in der das Formatelement oder die Elemente durch die Zeichenfolgendarstellung von arg0ersetzt wurden.

Ausnahmen

format ist null.

format ist ungültig.

-oder-

Der Index eines Formatelements ist nicht null.

Hinweise

Wichtig

Anstatt die String.Format-Methode aufzurufen oder zusammengesetzte Formatzeichenfolgenzu verwenden, können Sie interpolierten Zeichenfolgen verwenden, wenn ihre Sprache sie unterstützt. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierten Ausdrückeenthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge einbezogen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und interpolierten Zeichenfolgen (Visual Basic-Referenz).

Diese Methode verwendet das zusammengesetzte Formatierungsfeature, um den Wert eines Ausdrucks in seine Zeichenfolgendarstellung zu konvertieren und diese Darstellung in eine Zeichenfolge einzubetten. Bei der Konvertierung verwendet die Methode kultursensitive Formatierungen oder einen benutzerdefinierten Formatierer. Die Methode konvertiert arg0 in die Zeichenfolgendarstellung, indem die ToString(IFormatProvider) Methode aufgerufen wird, oder wenn das entsprechende Formatelement des Objekts eine Formatzeichenfolge enthält, indem die ToString(String,IFormatProvider)--Methode aufgerufen wird. Wenn diese Methoden nicht vorhanden sind, ruft sie die parameterlose ToString--Methode auf.

Beim Aufrufen der String.Format-Methode ist es jedoch nicht erforderlich, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie die Methode mit einem Objekt aufrufen, das kultursensitive oder benutzerdefinierte Formatierungen bereitstellt, und eine zusammengesetzten Formatzeichenfolge, die mindestens ein Formatelemente enthält. Sie weisen jedem Formatelement einen numerischen Index zu; der erste Index beginnt bei 0. Zusätzlich zur ursprünglichen Zeichenfolge sollte der Methodenaufruf so viele zusätzliche Argumente wie Indexwerte aufweisen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente Indizes von 0 und 1 haben, 2 Argumente aufweisen; eine mit Indizes 0 bis 5 sollte 6 Argumente haben. Der Sprachcompiler löst dann den Methodenaufruf zu einer bestimmten Überladung der String.Format-Methode auf.

Ausführlichere Dokumentation zur Verwendung der String.Format-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode wird aufgerufen?.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, String, ReadOnlySpan<Object>)

Ersetzt die Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellungen entsprechender Objekte in einer angegebenen Spanne. Ein Parameter liefert kulturspezifische Formatierungsinformationen.

public static string Format (IFormatProvider? provider, string format, scoped ReadOnlySpan<object?> args);

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

args
ReadOnlySpan<Object>

Ein Objektbereich, der null oder mehr Zu formatierende Objekte enthält.

Gibt zurück

Eine Kopie von format, in der die Formatelemente durch die Zeichenfolgendarstellung der entsprechenden Objekte in argsersetzt wurden.

Gilt für:

.NET 9
Produkt Versionen
.NET 9

Format(String, ReadOnlySpan<Object>)

Ersetzt das Formatelement in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines entsprechenden Objekts in einer angegebenen Spanne.

public static string Format (string format, scoped ReadOnlySpan<object?> args);

Parameter

args
ReadOnlySpan<Object>

Ein Objektbereich, der null oder mehr Zu formatierende Objekte enthält.

Gibt zurück

Eine Kopie von format, in der die Formatelemente durch die Zeichenfolgendarstellung der entsprechenden Objekte in argsersetzt wurden.

Gilt für:

.NET 9
Produkt Versionen
.NET 9

Format(String, Object[])

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt das Formatelement in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines entsprechenden Objekts in einem angegebenen Array.

public static string Format (string format, params object[] args);
public static string Format (string format, params object?[] args);

Parameter

args
Object[]

Ein Objektarray, das null oder mehr Zu formatierende Objekte enthält.

Gibt zurück

Eine Kopie von format, in der die Formatelemente durch die Zeichenfolgendarstellung der entsprechenden Objekte in argsersetzt wurden.

Ausnahmen

format oder args ist null.

format ist ungültig.

-oder-

Der Index eines Formatelements ist kleiner als Null oder größer als oder gleich der Länge des args Arrays.

Hinweise

Wichtig

Anstatt die String.Format-Methode aufzurufen oder zusammengesetzte Formatzeichenfolgenzu verwenden, können Sie interpolierten Zeichenfolgen verwenden, wenn ihre Sprache sie unterstützt. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierten Ausdrückeenthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge einbezogen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und interpolierten Zeichenfolgen (Visual Basic-Referenz).

Diese Methode verwendet das zusammengesetzte Formatierungsfeature, um den Wert von vier oder mehr Ausdrücken in ihre Zeichenfolgendarstellungen zu konvertieren und diese Darstellungen in eine Zeichenfolge einzubetten. Da der args-Parameter mit dem attribut System.ParamArrayAttribute gekennzeichnet ist, können Sie die Objekte als einzelne Argumente oder als Object Array an die Methode übergeben.

Beim Aufrufen der String.Format-Methode ist es jedoch nicht erforderlich, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie die Methode mit einer zusammengesetzten Formatzeichenfolge aufrufen, die mindestens ein Formatelemente enthält. Sie weisen jedem Formatelement einen numerischen Index zu; der erste Index beginnt bei 0. Zusätzlich zur ursprünglichen Zeichenfolge sollte der Methodenaufruf so viele zusätzliche Argumente wie Indexwerte aufweisen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente Indizes von 0 und 1 haben, 2 Argumente aufweisen; eine mit Indizes 0 bis 5 sollte 6 Argumente haben. Der Sprachcompiler löst dann den Methodenaufruf zu einer bestimmten Überladung der String.Format-Methode auf.

Ausführlichere Dokumentation zur Verwendung der String.Format-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode wird aufgerufen?.

Beispiel: Formatieren von mehr als drei Argumenten

In diesem Beispiel wird eine Zeichenfolge erstellt, die Daten für die hohe und niedrige Temperatur eines bestimmten Datums enthält. Die zusammengesetzte Formatzeichenfolge enthält fünf Formatelemente im C#-Beispiel und sechs im Visual Basic-Beispiel. Zwei der Formatelemente definieren die Breite der Zeichenfolgendarstellung des entsprechenden Werts, und das erste Formatelement enthält auch eine Standardzeichenfolge für Datums- und Uhrzeitformat.

DateTime date1 = new DateTime(2009, 7, 1);
TimeSpan hiTime = new TimeSpan(14, 17, 32);
decimal hiTemp = 62.1m; 
TimeSpan loTime = new TimeSpan(3, 16, 10);
decimal loTemp = 54.8m; 

string result1 = String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", 
                               date1, hiTime, hiTemp, loTime, loTemp);
Console.WriteLine(result1);
Console.WriteLine();
     
string result2 = String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", 
                               new object[] { date1, hiTime, hiTemp, loTime, loTemp });
Console.WriteLine(result2);
// The example displays output like the following:
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)

Sie können auch die Objekte übergeben, die als Array und nicht als Argumentliste formatiert werden sollen.

using System;

public class CityInfo
{
   public CityInfo(String name, int population, Decimal area, int year)
   {
      this.Name = name;
      this.Population = population;
      this.Area = area;
      this.Year = year;
   }
   
   public readonly String Name; 
   public readonly int Population;
   public readonly Decimal Area;
   public readonly int Year;
}

public class Example
{
   public static void Main()
   {
      CityInfo nyc2010 = new CityInfo("New York", 8175133, 302.64m, 2010);
      ShowPopulationData(nyc2010);
      CityInfo sea2010 = new CityInfo("Seattle", 608660, 83.94m, 2010);      
      ShowPopulationData(sea2010); 
   }

   private static void ShowPopulationData(CityInfo city)
   {
      object[] args = { city.Name, city.Year, city.Population, city.Area };
      String result = String.Format("{0} in {1}: Population {2:N0}, Area {3:N1} sq. feet", 
                                    args);
      Console.WriteLine(result); 
   }
}
// The example displays the following output:
//       New York in 2010: Population 8,175,133, Area 302.6 sq. feet
//       Seattle in 2010: Population 608,660, Area 83.9 sq. feet

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(String, Object)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt ein oder mehrere Formatelemente in einer Zeichenfolge durch die Zeichenfolgendarstellung eines angegebenen Objekts.

public static string Format (string format, object arg0);
public static string Format (string format, object? arg0);

Parameter

arg0
Object

Das zu formatierende Objekt.

Gibt zurück

Eine Kopie von format, in der alle Formatelemente durch die Zeichenfolgendarstellung von arg0ersetzt werden.

Ausnahmen

format ist null.

Das Formatelement in format ist ungültig.

-oder-

Der Index eines Formatelements ist nicht null.

Hinweise

Wichtig

Anstatt die String.Format-Methode aufzurufen oder zusammengesetzte Formatzeichenfolgenzu verwenden, können Sie interpolierten Zeichenfolgen verwenden, wenn ihre Sprache sie unterstützt. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierten Ausdrückeenthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge einbezogen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und interpolierten Zeichenfolgen (Visual Basic-Referenz).

Diese Methode verwendet das zusammengesetzte Formatierungsfeature, um den Wert eines Ausdrucks in seine Zeichenfolgendarstellung zu konvertieren und diese Darstellung in eine Zeichenfolge einzubetten.

Beim Aufrufen der String.Format-Methode ist es jedoch nicht erforderlich, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie die Methode mit einer zusammengesetzten Formatzeichenfolge aufrufen, die mindestens ein Formatelemente enthält. Sie weisen jedem Formatelement einen numerischen Index zu; der erste Index beginnt bei 0. Zusätzlich zur ursprünglichen Zeichenfolge sollte der Methodenaufruf so viele zusätzliche Argumente wie Indexwerte aufweisen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente Indizes von 0 und 1 haben, 2 Argumente aufweisen; eine mit Indizes 0 bis 5 sollte 6 Argumente haben. Der Sprachcompiler löst dann den Methodenaufruf zu einer bestimmten Überladung der String.Format-Methode auf.

Ausführlichere Dokumentation zur Verwendung der String.Format-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode wird aufgerufen?.

Beispiel: Formatieren eines einzelnen Arguments

Im folgenden Beispiel wird die Format(String, Object)-Methode verwendet, um das Alter einer Person in die Mitte einer Zeichenfolge einzubetten.

DateTime birthdate = new DateTime(1993, 7, 28);
DateTime[] dates = { new DateTime(1993, 8, 16), 
                     new DateTime(1994, 7, 28), 
                     new DateTime(2000, 10, 16), 
                     new DateTime(2003, 7, 27), 
                     new DateTime(2007, 5, 27) };

foreach (DateTime dateValue in dates)
{
   TimeSpan interval = dateValue - birthdate;
   // Get the approximate number of years, without accounting for leap years.
   int years = ((int) interval.TotalDays) / 365;
   // See if adding the number of years exceeds dateValue.
   string output;
   if (birthdate.AddYears(years) <= dateValue) {
      output = String.Format("You are now {0} years old.", years);
      Console.WriteLine(output);
   }   
   else {
      output = String.Format("You are now {0} years old.", years - 1);
      Console.WriteLine(output);
   }      
}
// The example displays the following output:
//       You are now 0 years old.
//       You are now 1 years old.
//       You are now 7 years old.
//       You are now 9 years old.
//       You are now 13 years old.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, CompositeFormat, Object[])

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, params object?[] args);

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

args
Object[]

Ein Array von Objekten, die formatiert werden sollen.

Gibt zurück

Die formatierte Zeichenfolge.

Ausnahmen

format oder args ist null.

Der Index eines Formatelements ist größer oder gleich der Anzahl der angegebenen Argumente.

Gilt für:

.NET 9 und .NET 8
Produkt Versionen
.NET 8, 9

Format<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

public static string Format<TArg0,TArg1,TArg2> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1, TArg2 arg2);

Typparameter

TArg0

Der Typ des ersten zu formatierenden Objekts.

TArg1

Der Typ des zweiten zu formatierenden Objekts.

TArg2

Der Typ des dritten zu formatierenden Objekts.

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

arg0
TArg0

Das erste zu formatierende Objekt.

arg1
TArg1

Das zweite zu formatierende Objekt.

arg2
TArg2

Das dritte zu formatierende Objekt.

Gibt zurück

Die formatierte Zeichenfolge.

Ausnahmen

format ist null.

Der Index eines Formatelements ist größer oder gleich der Anzahl der angegebenen Argumente.

Gilt für:

.NET 9 und .NET 8
Produkt Versionen
.NET 8, 9

Format<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

public static string Format<TArg0,TArg1> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1);

Typparameter

TArg0

Der Typ des ersten zu formatierenden Objekts.

TArg1

Der Typ des zweiten zu formatierenden Objekts.

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

arg0
TArg0

Das erste zu formatierende Objekt.

arg1
TArg1

Das zweite zu formatierende Objekt.

Gibt zurück

Die formatierte Zeichenfolge.

Ausnahmen

format ist null.

Der Index eines Formatelements ist größer oder gleich der Anzahl der angegebenen Argumente.

Gilt für:

.NET 9 und .NET 8
Produkt Versionen
.NET 8, 9

Format<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Quelle:
String.Manipulation.cs
Quelle:
String.Manipulation.cs

Ersetzt das Formatelement oder die Elemente in einer CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.

public static string Format<TArg0> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0);

Typparameter

TArg0

Der Typ des ersten zu formatierenden Objekts.

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

arg0
TArg0

Das erste zu formatierende Objekt.

Gibt zurück

Die formatierte Zeichenfolge.

Ausnahmen

format ist null.

Der Index eines Formatelements ist größer oder gleich der Anzahl der angegebenen Argumente.

Gilt für:

.NET 9 und .NET 8
Produkt Versionen
.NET 8, 9