String.Format Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert auf der Grundlage der angegebenen Formate den Wert von Objekten in Zeichenfolgen und fügt sie in eine andere Zeichenfolge ein.
Wenn Sie noch nicht mit der String.Format
Methode 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 bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format. |
Format(IFormatProvider, String, Object) |
Ersetzt die Formatelemente in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung des angegebenen Objekts. Ein Parameter liefert kulturspezifische Formatierungsinformationen. |
Format(IFormatProvider, String, ReadOnlySpan<Object>) | |
Format(String, ReadOnlySpan<Object>) | |
Format(String, Object[]) |
Ersetzt das Formatelement in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines entsprechenden Objekts in einem angegebenen Array. |
Format(String, Object) |
Ersetzt mindestens ein Formatelement in einer Zeichenfolge durch die Zeichenfolgendarstellung eines angegebenen Objekts. |
Format(IFormatProvider, CompositeFormat, Object[]) |
Ersetzt das Formatelement bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format. |
Format<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2) |
Ersetzt das Formatelement bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format. |
Format<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1) |
Ersetzt das Formatelement bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format. |
Format<TArg0>(IFormatProvider, CompositeFormat, TArg0) |
Ersetzt das Formatelement bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format. |
Hinweise
Weitere Informationen zu dieser API finden Sie unter Zusätzliche 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 System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, ... cli::array <System::Object ^> ^ args);
public static string Format (IFormatProvider provider, string format, params object[] args);
public static string Format (IFormatProvider? provider, string format, params object?[] args);
static member Format : IFormatProvider * string * obj[] -> string
Public Shared Function Format (provider As IFormatProvider, format As String, ParamArray args As Object()) As String
Parameter
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
- format
- String
- args
- Object[]
Ein Objektarray mit 0 (null) oder mehr zu formatierenden Objekten.
Gibt zurück
Eine Kopie von format
, in der die Formatelemente durch die Zeichenfolgendarstellung der entsprechenden Objekte in args
ersetzt wurden.
Ausnahmen
format
oder args
ist null
.
format
ist ungültig.
- oder -
Der Index eines Formatelements ist kleiner als 0 (null) oder größer oder gleich der Länge des args
-Arrays.
Hinweise
Wichtig
Statt die Methode String.Format aufzurufen oder Zeichenfolgen mit kombinierter Formatierung zu verwenden, können Sie interpolierte Zeichenfolgen verwenden, wenn diese von Ihrer Sprache unterstützt werden. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierte Ausdrücke enthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge aufgenommen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und Interpolierte Zeichenfolgen (Visual Basic-Referenz).
Diese Methode verwendet die zusammengesetzte Formatierungsfunktion , 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 die ToString(IFormatProvider)- Methode aufgerufen wird, oder, wenn das entsprechende Formatelement des Objekts eine Formatzeichenfolge enthält, indem sie die ToString(String,IFormatProvider)- Methode aufruft. Wenn diese Methoden nicht vorhanden sind, ruft sie die parameterlose ToString-Methode des Objekts auf.
Beim Aufrufen der String.Format
Methode ist es jedoch nicht notwendig, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie auch die Methode mit einem Objekt aufrufen, das kulturabhängige oder benutzerdefinierte Formatierungen sowie eine kombinierte Formatzeichenfolge bereitstellt, die mindestens ein Formatelement enthält. Weisen Sie jedem Formatelement einen numerischen Index zu. Der erste Index startet bei 0 (null). Neben dem ersten Zeichenfolgenwert sollte Ihr Methodenaufruf über gleich viele zusätzliche Argumente und Indexwerte verfügen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente die Indizes 0 und 1 aufweisen, über zwei Argumente verfügen. Dabei sollte ein Argument über bis zu fünf Indizes und eins über sechs Argumente verfügen. Der Sprachcompiler löst dann Ihren Methodenaufruf in eine bestimmte Überladung der String.Format
Methode auf.
Eine ausführlichere Dokumentation zur Verwendung der String.Format
-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode rufe ich auf?.
Beispiel: Kultursensitive Formatierung
In diesem Beispiel wird die Format(IFormatProvider, String, Object[]) -Methode verwendet, um die Zeichenfolgendarstellung einiger Datums- und Uhrzeitwerte und numerischer Werte unter Verwendung mehrerer unterschiedlicher 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
open System
open System.Globalization
let cultureNames = [| "en-US"; "fr-FR"; "de-DE"; "es-ES" |]
let dateToDisplay = DateTime(2009, 9, 1, 18, 32, 0)
let value = 9164.32
printfn "Culture Date Value\n"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
String.Format(culture, "{0,-11} {1,-35:D} {2:N}", culture.Name, dateToDisplay, value)
|> printfn "%s"
// 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
Imports System.Globalization
Module Example
Public Sub Main()
Dim cultureNames() As String = { "en-US", "fr-FR", "de-DE", "es-ES" }
Dim dateToDisplay As Date = #9/1/2009 6:32PM#
Dim value As Double = 9164.32
Console.WriteLine("Culture Date Value")
Console.WriteLine()
For Each cultureName As String In cultureNames
Dim culture As New CultureInfo(cultureName)
Dim output As String = String.Format(culture, "{0,-11} {1,-35:D} {2:N}", _
culture.Name, dateToDisplay, value)
Console.WriteLine(output)
Next
End Sub
End Module
' 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
- DateTimeFormatInfo
- ICustomFormatter
- IFormatProvider
- NumberFormatInfo
- Formatieren von Typen in .NET
- Kombinierte Formatierung
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
- Standardmäßige Zahlenformatzeichenfolgen
- Benutzerdefinierte Zahlenformatzeichenfolgen
- TimeSpan-Standardformatzeichenfolgen
- Benutzerdefinierte TimeSpan-Formatzeichenfolgen
- Enumerationsformatzeichenfolgen
Gilt für:
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 System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
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);
static member Format : IFormatProvider * string * obj * obj * obj -> string
Public Shared Function Format (provider As IFormatProvider, format As String, arg0 As Object, arg1 As Object, arg2 As Object) As String
Parameter
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
- format
- String
- 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 Formatelemente durch die Zeichenfolgendarstellung von arg0
, arg1
und arg2
ersetzt wurden.
Ausnahmen
format
ist null
.
format
ist ungültig.
- oder -
Der Index eines Formatelements ist kleiner als 0 (null) oder größer als 2.
Hinweise
Wichtig
Statt die Methode String.Format aufzurufen oder Zeichenfolgen mit kombinierter Formatierung zu verwenden, können Sie interpolierte Zeichenfolgen verwenden, wenn diese von Ihrer Sprache unterstützt werden. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierte Ausdrücke enthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge aufgenommen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und Interpolierte Zeichenfolgen (Visual Basic-Referenz).
Diese Methode verwendet die zusammengesetzte Formatierungsfunktion , 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 die ToString(IFormatProvider)- Methode aufgerufen wird, oder, wenn das entsprechende Formatelement des Objekts eine Formatzeichenfolge enthält, indem sie die ToString(String,IFormatProvider)- Methode aufruft. Wenn diese Methoden nicht vorhanden sind, ruft sie die parameterlose ToString-Methode des Objekts auf.
Beim Aufrufen der String.Format
Methode ist es jedoch nicht notwendig, sich auf die bestimmte Überladung zu konzentrieren, die Sie aufrufen möchten. Stattdessen können Sie auch die Methode mit einem Objekt aufrufen, das kulturabhängige oder benutzerdefinierte Formatierungen sowie eine kombinierte Formatzeichenfolge bereitstellt, die mindestens ein Formatelement enthält. Weisen Sie jedem Formatelement einen numerischen Index zu. Der erste Index startet bei 0 (null). Neben dem ersten Zeichenfolgenwert sollte Ihr Methodenaufruf über gleich viele zusätzliche Argumente und Indexwerte verfügen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente die Indizes 0 und 1 aufweisen, über zwei Argumente verfügen. Dabei sollte ein Argument über bis zu fünf Indizes und eins über sechs Argumente verfügen. Der Sprachcompiler löst dann Ihren Methodenaufruf in eine bestimmte Überladung der String.Format
Methode auf.
Eine ausführlichere Dokumentation zur Verwendung der String.Format
-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode rufe ich auf?.
Gilt für:
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 System::String ^ Format(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
public static string Format (string format, object arg0, object arg1, object arg2);
public static string Format (string format, object? arg0, object? arg1, object? arg2);
static member Format : string * obj * obj * obj -> string
Public Shared Function Format (format As String, arg0 As Object, arg1 As Object, arg2 As Object) As String
Parameter
- format
- String
- 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 Formatelemente durch die Zeichenfolgendarstellung von arg0
, arg1
und arg2
ersetzt wurden.
Ausnahmen
format
ist null
.
format
ist ungültig.
- oder -
Der Index eines Formatelements ist kleiner als 0 (null) oder größer als 2.
Hinweise
Wichtig
Statt die Methode String.Format aufzurufen oder Zeichenfolgen mit kombinierter Formatierung zu verwenden, können Sie interpolierte Zeichenfolgen verwenden, wenn diese von Ihrer Sprache unterstützt werden. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierte Ausdrücke enthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge aufgenommen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und Interpolierte Zeichenfolgen (Visual Basic-Referenz).
Diese Methode verwendet die zusammengesetzte Formatierungsfunktion , 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 kombinierten Formatzeichenfolge aufrufen, die mindestens ein Formatelement enthält. Weisen Sie jedem Formatelement einen numerischen Index zu. Der erste Index startet bei 0 (null). Neben dem ersten Zeichenfolgenwert sollte Ihr Methodenaufruf über gleich viele zusätzliche Argumente und Indexwerte verfügen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente die Indizes 0 und 1 aufweisen, über zwei Argumente verfügen. Dabei sollte ein Argument über bis zu fünf Indizes und eins über sechs Argumente verfügen. Der Sprachcompiler löst dann Ihren Methodenaufruf in eine bestimmte Überladung der String.Format
-Methode auf.
Eine ausführlichere Dokumentation zur Verwendung der String.Format
-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode rufe ich auf?.
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.
using namespace System;
void main()
{
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)
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)
open System
let formatString =
" {0,10} ({0,8:X8})\nAnd {1,10} ({1,8:X8})\n = {2,10} ({2,8:X8})"
let value1 = 16932
let value2 = 15421
String.Format(formatString, value1, value2, value1 &&& value2)
|> printfn "%s"
// The example displays the following output:
// 16932 (00004224)
// And 15421 (00003C3D)
// = 36 (00000024)
Public Module Example
Public Sub Main()
Dim formatString As String = " {0,10} ({0,8:X8})" + vbCrLf + _
"And {1,10} ({1,8:X8})" + vbCrLf + _
" = {2,10} ({2,8:X8})"
Dim value1 As Integer = 16932
Dim value2 As Integer = 15421
Dim result As String = String.Format(formatString, _
value1, value2, value1 And value2)
Console.WriteLine(result)
End Sub
End Module
' The example displays the following output:
' 16932 (00004224)
' And 15421 (00003C3D)
' = 36 (00000024)
Weitere Informationen
Gilt für:
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 System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public static string Format (IFormatProvider provider, string format, object arg0, object arg1);
public static string Format (IFormatProvider? provider, string format, object? arg0, object? arg1);
static member Format : IFormatProvider * string * obj * obj -> string
Public Shared Function Format (provider As IFormatProvider, format As String, arg0 As Object, arg1 As Object) As String
Parameter
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
- format
- String
- 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 Zeichenfolgendarstellung von arg0
und arg1
ersetzt wurden.
Ausnahmen
format
ist null
.
format
ist ungültig.
- oder -
Der Index eines Formatelements ist nicht 0 (null) oder 1.
Hinweise
Wichtig
Statt die Methode String.Format aufzurufen oder Zeichenfolgen mit kombinierter Formatierung zu verwenden, können Sie interpolierte Zeichenfolgen verwenden, wenn diese von Ihrer Sprache unterstützt werden. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierte Ausdrücke enthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge aufgenommen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und Interpolierte Zeichenfolgen (Visual Basic-Referenz).
Diese Methode verwendet die zusammengesetzte Formatierungsfunktion , um zwei Ausdrücke in ihre Zeichenfolgendarstellungen zu konvertieren und diese Darstellungen in eine Zeichenfolge einzubetten. Bei der Konvertierung verwendet die Methode kulturabhängige Formatierung oder einen benutzerdefinierten Formatierer. Die -Methode konvertiert jedes Object Argument in seine 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, wird die parameterlose ToString-Methode des Objekts aufgerufen.
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 auch die Methode mit einem Objekt aufrufen, das kulturabhängige oder benutzerdefinierte Formatierungen sowie eine kombinierte Formatzeichenfolge bereitstellt, die mindestens ein Formatelement enthält. Weisen Sie jedem Formatelement einen numerischen Index zu. Der erste Index startet bei 0 (null). Neben dem ersten Zeichenfolgenwert sollte Ihr Methodenaufruf über gleich viele zusätzliche Argumente und Indexwerte verfügen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente die Indizes 0 und 1 aufweisen, über zwei Argumente verfügen. Dabei sollte ein Argument über bis zu fünf Indizes und eins über sechs Argumente verfügen. Der Sprachcompiler löst dann Ihren Methodenaufruf in eine bestimmte Überladung der String.Format
-Methode auf.
Eine ausführlichere Dokumentation zur Verwendung der String.Format
-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode rufe ich auf?.
Gilt für:
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 System::String ^ Format(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public static string Format (string format, object arg0, object arg1);
public static string Format (string format, object? arg0, object? arg1);
static member Format : string * obj * obj -> string
Public Shared Function Format (format As String, arg0 As Object, arg1 As Object) As String
Parameter
- format
- String
- 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 Zeichenfolgendarstellung von arg0
und arg1
ersetzt wurden.
Ausnahmen
format
ist null
.
format
ist ungültig.
- oder -
Der Index eines Formatelements ist nicht 0 (null) oder 1.
Hinweise
Wichtig
Statt die Methode String.Format aufzurufen oder Zeichenfolgen mit kombinierter Formatierung zu verwenden, können Sie interpolierte Zeichenfolgen verwenden, wenn diese von Ihrer Sprache unterstützt werden. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierte Ausdrücke enthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge aufgenommen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und Interpolierte Zeichenfolgen (Visual Basic-Referenz).
Diese Methode verwendet die zusammengesetzte Formatierungsfunktion , 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 kombinierten Formatzeichenfolge aufrufen, die mindestens ein Formatelement enthält. Weisen Sie jedem Formatelement einen numerischen Index zu. Der erste Index startet bei 0 (null). Neben dem ersten Zeichenfolgenwert sollte Ihr Methodenaufruf über gleich viele zusätzliche Argumente und Indexwerte verfügen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente die Indizes 0 und 1 aufweisen, über zwei Argumente verfügen. Dabei sollte ein Argument über bis zu fünf Indizes und eins über sechs Argumente verfügen. Der Sprachcompiler löst dann Ihren Methodenaufruf in eine bestimmte Überladung der String.Format
-Methode auf.
Eine ausführlichere Dokumentation zur Verwendung der String.Format
-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode rufe ich auf?.
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 nur zwei Zu formatierende Objekte vorhanden sind. 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 und das zweite das Datum an.
using namespace System;
using namespace System::Collections::Generic;
void main()
{
Dictionary<DateTime, Double>^ temperatureInfo = gcnew Dictionary<DateTime, Double>();
temperatureInfo->Add(DateTime(2010, 6, 1, 14, 0, 0), 87.46);
temperatureInfo->Add(DateTime(2010, 12, 1, 10, 0, 0), 36.81);
Console::WriteLine("Temperature Information:\n");
String^ output;
for each (KeyValuePair<DateTime, Double>^ 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 the following output:
// 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
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
open System
open System.Collections.Generic
let temperatureInfo = Dictionary<DateTime, float>()
temperatureInfo.Add(DateTime(2010, 6, 1, 14, 0, 0), 87.46)
temperatureInfo.Add(DateTime(2010, 12, 1, 10, 0, 0), 36.81)
printfn $"Temperature Information:\n"
for item in temperatureInfo do
String.Format("Temperature at {0,8:t} on {0,9:d}: {1,5:N1}°F", item.Key, item.Value)
|> printfn "%s"
// 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
Imports System.Collections.Generic
Module Example
Public Sub Main()
Dim temperatureInfo As New Dictionary(Of Date, Double)
temperatureInfo.Add(#6/1/2010 2:00PM#, 87.46)
temperatureInfo.Add(#12/1/2010 10:00AM#, 36.81)
Console.WriteLine("Temperature Information:")
Console.WriteLine()
Dim output As String
For Each 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)
Next
End Sub
End Module
' The example displays the following output:
' 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
- Formatieren von Typen in .NET
- Kombinierte Formatierung
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
- Standardmäßige Zahlenformatzeichenfolgen
- Benutzerdefinierte Zahlenformatzeichenfolgen
- TimeSpan-Standardformatzeichenfolgen
- Benutzerdefinierte TimeSpan-Formatzeichenfolgen
- Enumerationsformatzeichenfolgen
Gilt für:
Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
Ersetzt das Formatelement(n) in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.
public:
static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, ReadOnlySpan<System::Object ^> args);
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);
static member Format : IFormatProvider * System.Text.CompositeFormat * ReadOnlySpan<obj> -> string
Public Shared Function Format (provider As IFormatProvider, format As CompositeFormat, args As ReadOnlySpan(Of Object)) As String
Parameter
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
- format
- CompositeFormat
einen CompositeFormat
- args
- ReadOnlySpan<Object>
Eine Spanne von zu formatierenden Objekten.
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:
Format(IFormatProvider, String, Object)
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
Ersetzt die Formatelemente in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung des angegebenen Objekts. Ein Parameter liefert kulturspezifische Formatierungsinformationen.
public:
static System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0);
public static string Format (IFormatProvider provider, string format, object arg0);
public static string Format (IFormatProvider? provider, string format, object? arg0);
static member Format : IFormatProvider * string * obj -> string
Public Shared Function Format (provider As IFormatProvider, format As String, arg0 As Object) As String
Parameter
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
- format
- String
- arg0
- Object
Das zu formatierende Objekt.
Gibt zurück
Eine Kopie von format
, in der die Formatelemente durch die Zeichenfolgendarstellung von arg0
ersetzt wurden.
Ausnahmen
format
ist null
.
Hinweise
Wichtig
Statt die Methode String.Format aufzurufen oder Zeichenfolgen mit kombinierter Formatierung zu verwenden, können Sie interpolierte Zeichenfolgen verwenden, wenn diese von Ihrer Sprache unterstützt werden. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierte Ausdrücke enthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge aufgenommen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und Interpolierte Zeichenfolgen (Visual Basic-Referenz).
Diese Methode verwendet die zusammengesetzte Formatierungsfunktion , um den Wert eines Ausdrucks in seine Zeichenfolgendarstellung zu konvertieren und diese Darstellung in eine Zeichenfolge einzubetten. Bei der Konvertierung verwendet die Methode kulturabhängige Formatierung oder einen benutzerdefinierten Formatierer. Die -Methode konvertiert in ihre Zeichenfolgendarstellung arg0
, indem sie ihre ToString(IFormatProvider)- Methode aufruft, oder, wenn das entsprechende Formatelement des Objekts eine Formatzeichenfolge enthält, indem sie die ToString(String,IFormatProvider) -Methode aufruft. Wenn diese Methoden nicht vorhanden sind, wird die parameterlose ToString-Methode des Objekts aufgerufen.
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 auch die Methode mit einem Objekt aufrufen, das kulturabhängige oder benutzerdefinierte Formatierungen sowie eine kombinierte Formatzeichenfolge bereitstellt, die mindestens ein Formatelement enthält. Weisen Sie jedem Formatelement einen numerischen Index zu. Der erste Index startet bei 0 (null). Neben dem ersten Zeichenfolgenwert sollte Ihr Methodenaufruf über gleich viele zusätzliche Argumente und Indexwerte verfügen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente die Indizes 0 und 1 aufweisen, über zwei Argumente verfügen. Dabei sollte ein Argument über bis zu fünf Indizes und eins über sechs Argumente verfügen. Der Sprachcompiler löst dann Ihren Methodenaufruf in eine bestimmte Überladung der String.Format
-Methode auf.
Eine ausführlichere Dokumentation zur Verwendung der String.Format
-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode rufe ich auf?.
Gilt für:
Format(IFormatProvider, String, ReadOnlySpan<Object>)
public:
static System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, ReadOnlySpan<System::Object ^> args);
public static string Format (IFormatProvider? provider, string format, scoped ReadOnlySpan<object?> args);
static member Format : IFormatProvider * string * ReadOnlySpan<obj> -> string
Public Shared Function Format (provider As IFormatProvider, format As String, args As ReadOnlySpan(Of Object)) As String
Parameter
- provider
- IFormatProvider
- format
- String
- args
- ReadOnlySpan<Object>
Gibt zurück
Gilt für:
Format(String, ReadOnlySpan<Object>)
public:
static System::String ^ Format(System::String ^ format, ReadOnlySpan<System::Object ^> args);
public static string Format (string format, scoped ReadOnlySpan<object?> args);
static member Format : string * ReadOnlySpan<obj> -> string
Public Shared Function Format (format As String, args As ReadOnlySpan(Of Object)) As String
Parameter
- format
- String
- args
- ReadOnlySpan<Object>
Gibt zurück
Gilt für:
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 System::String ^ Format(System::String ^ format, ... cli::array <System::Object ^> ^ args);
public static string Format (string format, params object[] args);
public static string Format (string format, params object?[] args);
static member Format : string * obj[] -> string
Public Shared Function Format (format As String, ParamArray args As Object()) As String
Parameter
- format
- String
- args
- Object[]
Ein Objektarray mit 0 (null) oder mehr zu formatierenden Objekten.
Gibt zurück
Eine Kopie von format
, in der die Formatelemente durch die Zeichenfolgendarstellung der entsprechenden Objekte in args
ersetzt wurden.
Ausnahmen
format
oder args
ist null
.
format
ist ungültig.
- oder -
Der Index eines Formatelements ist kleiner als 0 (null) oder größer oder gleich der Länge des args
-Arrays.
Hinweise
Wichtig
Statt die Methode String.Format aufzurufen oder Zeichenfolgen mit kombinierter Formatierung zu verwenden, können Sie interpolierte Zeichenfolgen verwenden, wenn diese von Ihrer Sprache unterstützt werden. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierte Ausdrücke enthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge aufgenommen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und Interpolierte Zeichenfolgen (Visual Basic-Referenz).
Diese Methode verwendet die zusammengesetzte Formatierungsfunktion , 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 System.ParamArrayAttribute -Attribut 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 kombinierten Formatzeichenfolge aufrufen, die mindestens ein Formatelement enthält. Weisen Sie jedem Formatelement einen numerischen Index zu. Der erste Index startet bei 0 (null). Neben dem ersten Zeichenfolgenwert sollte Ihr Methodenaufruf über gleich viele zusätzliche Argumente und Indexwerte verfügen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente die Indizes 0 und 1 aufweisen, über zwei Argumente verfügen. Dabei sollte ein Argument über bis zu fünf Indizes und eins über sechs Argumente verfügen. Der Sprachcompiler löst dann Ihren Methodenaufruf in eine bestimmte Überladung der String.Format
-Methode auf.
Eine ausführlichere Dokumentation zur Verwendung der String.Format
-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode rufe ich auf?.
Beispiel: Formatieren von mehr als drei Argumenten
In diesem Beispiel wird eine Zeichenfolge erstellt, die Daten zur hohen und niedrigen Temperatur an einem bestimmten Datum 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 Standardformatzeichenfolge für Datum und Uhrzeit.
using namespace System;
void main()
{
DateTime date1 = DateTime(2009, 7, 1);
TimeSpan hiTime = TimeSpan(14, 17, 32);
Decimal hiTemp = (Decimal) 62.1;
TimeSpan loTime = TimeSpan(3, 16, 10);
Decimal loTemp = (Decimal)54.8;
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)",
gcnew array<Object^> { date1, hiTime, hiTemp, loTime, loTemp });
Console::WriteLine(result2);
}
// The example displays the following output:
// 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)
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)
let date1 = DateTime(2009, 7, 1)
let hiTime = TimeSpan(14, 17, 32)
let hiTemp = 62.1m
let loTime = TimeSpan(3, 16, 10)
let loTemp = 54.8m
String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", date1, hiTime, hiTemp, loTime, loTemp)
|> printfn "%s\n"
String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", [| date1 :> obj; hiTime; hiTemp; loTime; loTemp |])
|> printfn "%s"
// 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)
Module Example
Public Sub Main()
Dim date1 As Date = #7/1/2009#
Dim hiTime As New TimeSpan(14, 17, 32)
Dim hiTemp As Decimal = 62.1d
Dim loTime As New TimeSpan(3, 16, 10)
Dim loTemp As Decimal = 54.8d
Dim result1 As String = String.Format("Temperature on {0:d}:{5}{1,11}: {2} degrees (hi){5}{3,11}: {4} degrees (lo)", _
date1, hiTime, hiTemp, loTime, loTemp, vbCrLf)
Console.WriteLine(result1)
Console.WriteLine()
Dim result2 As String = String.Format("Temperature on {0:d}:{5}{1,11}: {2} degrees (hi){5}{3,11}: {4} degrees (lo)", _
New Object() { date1, hiTime, hiTemp, loTime, loTemp, vbCrLf })
Console.WriteLine(result2)
End Sub
End Module
' The example displays the following output:
' 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 die zu formatierenden Objekte auch als Array und nicht als Argumentliste übergeben.
using namespace System;
ref class CityInfo
{
public:
CityInfo(String^ name, int population, Decimal area, int year)
{
this->Name = name;
this->Population = population;
this->Area = area;
this->Year = year;
}
String^ Name;
int Population;
Decimal Area;
int Year;
};
ref class Example
{
public:
static void ShowPopulationData(CityInfo^ city)
{
array<Object^>^ args = gcnew array<Object^> { 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);
}
};
void main()
{
CityInfo^ nyc2010 = gcnew CityInfo("New York", 8175133, (Decimal) 302.64, 2010);
Example::ShowPopulationData(nyc2010);
CityInfo^ sea2010 = gcnew CityInfo("Seattle", 608660, (Decimal) 83.94, 2010);
Example::ShowPopulationData(sea2010);
}
// 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
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
open System
type CityInfo =
{ Name: string
Population: int
Area: Decimal
Year: int }
let showPopulationData city =
let args: obj[] = [| city.Name; city.Year; city.Population; city.Area |]
String.Format("{0} in {1}: Population {2:N0}, Area {3:N1} sq. feet", args)
|> printfn "%s"
{ Name = "New York"; Population = 8175133; Area = 302.64m; Year = 2010 }
|> showPopulationData
{ Name = "Seattle"; Population = 608660; Area = 83.94m; Year = 2010 }
|> showPopulationData
// 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
Public Class CityInfo
Public Sub New(name As String, population As Integer, area As Decimal, year As Integer)
Me.Name = name
Me.Population = population
Me.Area = area
Me.Year = year
End Sub
Public ReadOnly Name As String
Public ReadOnly Population As Integer
Public ReadOnly Area As Decimal
Public ReadOnly Year As Integer
End Class
Module Example
Public Sub Main()
Dim nyc2010 As New CityInfo("New York", 8175133, 302.64d, 2010)
ShowPopulationData(nyc2010)
Dim sea2010 As New CityInfo("Seattle", 608660, 83.94d, 2010)
ShowPopulationData(sea2010)
End Sub
Private Sub ShowPopulationData(city As CityInfo)
Dim args() As Object = { city.Name, city.Year, city.Population, city.Area }
Dim result = String.Format("{0} in {1}: Population {2:N0}, Area {3:N1} sq. feet", args)
Console.WriteLine(result)
End Sub
End Module
' 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
- Formatieren von Typen in .NET
- Kombinierte Formatierung
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
- Standardmäßige Zahlenformatzeichenfolgen
- Benutzerdefinierte Zahlenformatzeichenfolgen
- TimeSpan-Standardformatzeichenfolgen
- Benutzerdefinierte TimeSpan-Formatzeichenfolgen
- Enumerationsformatzeichenfolgen
Gilt für:
Format(String, Object)
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
Ersetzt mindestens ein Formatelement in einer Zeichenfolge durch die Zeichenfolgendarstellung eines angegebenen Objekts.
public:
static System::String ^ Format(System::String ^ format, System::Object ^ arg0);
public static string Format (string format, object arg0);
public static string Format (string format, object? arg0);
static member Format : string * obj -> string
Public Shared Function Format (format As String, arg0 As Object) As String
Parameter
- format
- String
- arg0
- Object
Das zu formatierende Objekt.
Gibt zurück
Eine Kopie von format
, in der alle Formatelemente durch die Zeichenfolgendarstellung von arg0
ersetzt wurden.
Ausnahmen
format
ist null
.
Das Formatelement in format
ist ungültig.
- oder -
Der Index eines Formatelements ist nicht 0 (null).
Hinweise
Wichtig
Statt die Methode String.Format aufzurufen oder Zeichenfolgen mit kombinierter Formatierung zu verwenden, können Sie interpolierte Zeichenfolgen verwenden, wenn diese von Ihrer Sprache unterstützt werden. Eine interpolierte Zeichenfolge ist eine Zeichenfolge, die interpolierte Ausdrücke enthält. Jeder interpolierte Ausdruck wird mit dem Wert des Ausdrucks aufgelöst und in die Ergebniszeichenfolge aufgenommen, wenn die Zeichenfolge zugewiesen wird. Weitere Informationen finden Sie unter Zeichenfolgeninterpolation (C#-Referenz) und Interpolierte Zeichenfolgen (Visual Basic-Referenz).
Diese Methode verwendet die zusammengesetzte Formatierungsfunktion , 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 kombinierten Formatzeichenfolge aufrufen, die mindestens ein Formatelement enthält. Weisen Sie jedem Formatelement einen numerischen Index zu. Der erste Index startet bei 0 (null). Neben dem ersten Zeichenfolgenwert sollte Ihr Methodenaufruf über gleich viele zusätzliche Argumente und Indexwerte verfügen. Beispielsweise sollte eine Zeichenfolge, deren Formatelemente die Indizes 0 und 1 aufweisen, über zwei Argumente verfügen. Dabei sollte ein Argument über bis zu fünf Indizes und eins über sechs Argumente verfügen. Der Sprachcompiler löst dann Ihren Methodenaufruf in eine bestimmte Überladung der String.Format
-Methode auf.
Eine ausführlichere Dokumentation zur Verwendung der String.Format
-Methode finden Sie unter Erste Schritte mit der String.Format-Methode und Welche Methode rufe ich auf?.
Beispiel: Formatieren eines einzelnen Arguments
Im folgenden Beispiel wird die -Methode verwendet, um das Format(String, Object) Alter einer Person in die Mitte einer Zeichenfolge einzubetten.
using namespace System;
void main()
{
DateTime birthdate = DateTime(1993, 7, 28);
array<DateTime>^ dates = gcnew array<DateTime> { DateTime(1993, 8, 16),
DateTime(1994, 7, 28),
DateTime(2000, 10, 16),
DateTime(2003, 7, 27),
DateTime(2007, 5, 27) };
for each (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.
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.
let birthdate = DateTime(1993, 7, 28)
let dates =
[ DateTime(1993, 8, 16)
DateTime(1994, 7, 28)
DateTime(2000, 10, 16)
DateTime(2003, 7, 27)
DateTime(2007, 5, 27) ]
for dateValue in dates do
let interval = dateValue - birthdate
// Get the approximate number of years, without accounting for leap years.
let years = (int interval.TotalDays) / 365
// See if adding the number of years exceeds dateValue.
if birthdate.AddYears years <= dateValue then
String.Format("You are now {0} years old.", years)
else
String.Format("You are now {0} years old.", years - 1)
|> printfn "%s"
// 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.
Module Example
Public Sub Main()
Dim birthdate As Date = #7/28/1993#
Dim dates() As Date = { #9/16/1993#, #7/28/1994#, #10/16/2000#, _
#7/27/2003#, #5/27/2007# }
For Each dateValue As Date In dates
Dim interval As TimeSpan = dateValue - birthdate
' Get the approximate number of years, without accounting for leap years.
Dim years As Integer = CInt(interval.TotalDays) \ 365
' See if adding the number of years exceeds dateValue.
Dim output As String
If birthdate.AddYears(years) <= dateValue Then
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)
End If
Next
End Sub
End Module
' 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
- Formatieren von Typen in .NET
- Kombinierte Formatierung
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
- Standardmäßige Zahlenformatzeichenfolgen
- Benutzerdefinierte Zahlenformatzeichenfolgen
- TimeSpan-Standardformatzeichenfolgen
- Benutzerdefinierte TimeSpan-Formatzeichenfolgen
- Enumerationsformatzeichenfolgen
Gilt für:
Format(IFormatProvider, CompositeFormat, Object[])
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
Ersetzt das Formatelement bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.
public:
static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, ... cli::array <System::Object ^> ^ args);
public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, params object?[] args);
static member Format : IFormatProvider * System.Text.CompositeFormat * obj[] -> string
Public Shared Function Format (provider As IFormatProvider, format As CompositeFormat, ParamArray args As Object()) As String
Parameter
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
- format
- CompositeFormat
einen CompositeFormat
- args
- Object[]
Ein Array zu formatierender Objekte.
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:
Format<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2)
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
Ersetzt das Formatelement bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.
public:
generic <typename TArg0, typename TArg1, typename TArg2>
static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0, TArg1 arg1, TArg2 arg2);
public static string Format<TArg0,TArg1,TArg2> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1, TArg2 arg2);
static member Format : IFormatProvider * System.Text.CompositeFormat * 'TArg0 * 'TArg1 * 'TArg2 -> string
Public Shared Function Format(Of TArg0, TArg1, TArg2) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0, arg1 As TArg1, arg2 As TArg2) As String
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.
- format
- CompositeFormat
einen CompositeFormat
- 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:
Format<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1)
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
Ersetzt das Formatelement bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.
public:
generic <typename TArg0, typename TArg1>
static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0, TArg1 arg1);
public static string Format<TArg0,TArg1> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1);
static member Format : IFormatProvider * System.Text.CompositeFormat * 'TArg0 * 'TArg1 -> string
Public Shared Function Format(Of TArg0, TArg1) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0, arg1 As TArg1) As String
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.
- format
- CompositeFormat
einen CompositeFormat
- 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:
Format<TArg0>(IFormatProvider, CompositeFormat, TArg0)
- Quelle:
- String.Manipulation.cs
- Quelle:
- String.Manipulation.cs
Ersetzt das Formatelement bzw. die Elemente in einem CompositeFormat durch die Zeichenfolgendarstellung der entsprechenden Objekte im angegebenen Format.
public:
generic <typename TArg0>
static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0);
public static string Format<TArg0> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0);
static member Format : IFormatProvider * System.Text.CompositeFormat * 'TArg0 -> string
Public Shared Function Format(Of TArg0) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0) As String
Typparameter
- TArg0
Der Typ des ersten zu formatierenden Objekts.
Parameter
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
- format
- CompositeFormat
einen CompositeFormat
- 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:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für