StringBuilder.AppendFormat Methode

Definition

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines entsprechenden Objektarguments ersetzt.

Überlädt

AppendFormat(String, Object, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung für eines von zwei Argumenten ersetzt.

AppendFormat(IFormatProvider, String, Object, Object, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der drei Argumente mit einem angegebenen Formatanbieter ersetzt.

AppendFormat(String, Object, Object, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung für eines von drei Argumenten ersetzt.

AppendFormat(IFormatProvider, String, Object, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der zwei Argumente mit einem angegebenen Formatanbieter ersetzt.

AppendFormat(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente ersetzt, die einen angegebenen Formatanbieter verwenden.

AppendFormat(String, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines einzelnen Arguments ersetzt.

AppendFormat(IFormatProvider, String, Object[])

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird von der Zeichenfolgendarstellung eines entsprechenden Arguments in einem Parameterarray ersetzt, das einen angegebenen Formatanbieter verwendet.

AppendFormat(IFormatProvider, String, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines einzigen Arguments mit einem angegebenen Formatanbieter ersetzt.

AppendFormat(String, Object[])

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines entsprechenden Arguments in einem Parameterarray ersetzt.

AppendFormat(IFormatProvider, CompositeFormat, Object[])

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente ersetzt, die einen angegebenen Formatanbieter verwenden.

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

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente ersetzt, die einen angegebenen Formatanbieter verwenden.

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

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente ersetzt, die einen angegebenen Formatanbieter verwenden.

AppendFormat<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente ersetzt, die einen angegebenen Formatanbieter verwenden.

AppendFormat(String, Object, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung für eines von zwei Argumenten ersetzt.

public:
 System::Text::StringBuilder ^ AppendFormat(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public System.Text.StringBuilder AppendFormat (string format, object arg0, object arg1);
public System.Text.StringBuilder AppendFormat (string format, object? arg0, object? arg1);
member this.AppendFormat : string * obj * obj -> System.Text.StringBuilder
Public Function AppendFormat (format As String, arg0 As Object, arg1 As Object) As StringBuilder

Parameter

format
String

Eine kombinierte Formatzeichenfolge.

arg0
Object

Das erste zu formatierende Objekt.

arg1
Object

Das zweite zu formatierende Objekt.

Gibt zurück

Ein Verweis auf diese Instanz mit angefügtem format. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung des entsprechenden Objektarguments ersetzt.

Ausnahmen

format ist null.

format ist ungültig.

- oder -

Der Index eines Formatelements ist kleiner als 0 (null) oder größer gleich 2.

Die Länge der erweiterten Zeichenfolge würde MaxCapacity überschreiten.

Beispiele

Das folgende Beispiel veranschaulicht die AppendFormat Methode.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;
void Show( StringBuilder^ sbs )
{
   Console::WriteLine( sbs );
   sbs->Length = 0;
}

int main()
{
   StringBuilder^ sb = gcnew StringBuilder;
   int var1 = 111;
   float var2 = 2.22F;
   String^ var3 = "abcd";
   array<Object^>^var4 = {3,4.4,(Char)'X'};
   Console::WriteLine();
   Console::WriteLine( "StringBuilder.AppendFormat method:" );
   sb->AppendFormat( "1) {0}", var1 );
   Show( sb );
   sb->AppendFormat( "2) {0}, {1}", var1, var2 );
   Show( sb );
   sb->AppendFormat( "3) {0}, {1}, {2}", var1, var2, var3 );
   Show( sb );
   sb->AppendFormat( "4) {0}, {1}, {2}", var4 );
   Show( sb );
   CultureInfo^ ci = gcnew CultureInfo( "es-ES",true );
   array<Object^>^temp1 = {var2};
   sb->AppendFormat( ci, "5) {0}", temp1 );
   Show( sb );
}

/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
using System;
using System.Text;
using System.Globalization;

class Sample
{
    static StringBuilder sb = new StringBuilder();

    public static void Main()
    {
    int    var1   = 111;
    float  var2   = 2.22F;
    string var3   = "abcd";
    object[] var4 = {3, 4.4, 'X'};

    Console.WriteLine();
    Console.WriteLine("StringBuilder.AppendFormat method:");
    sb.AppendFormat("1) {0}", var1);
    Show(sb);
    sb.AppendFormat("2) {0}, {1}", var1, var2);
    Show(sb);
    sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
    Show(sb);
    sb.AppendFormat("4) {0}, {1}, {2}", var4);
    Show(sb);
    CultureInfo ci = new CultureInfo("es-ES", true);
    sb.AppendFormat(ci, "5) {0}", var2);
    Show(sb);
    }

    public static void Show(StringBuilder sbs)
    {
    Console.WriteLine(sbs.ToString());
    sb.Length = 0;
    }
}
/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
open System.Text
open System.Globalization

let sb = StringBuilder()

let show (sbs: StringBuilder) =
    printfn $"{sbs}"
    sb.Length <- 0

let var1 = 111
let var2 = 2.22f
let var3 = "abcd"
let var4: obj[] = [| 3; 4.4; 'X' |]

printfn "StringBuilder.AppendFormat method:"
sb.AppendFormat("1) {0}", var1) |> ignore
show sb
sb.AppendFormat("2) {0}, {1}", var1, var2) |> ignore
show sb
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3) |> ignore
show sb
sb.AppendFormat("4) {0}, {1}, {2}", var4) |> ignore
show sb
let ci = CultureInfo("es-ES", true)
sb.AppendFormat(ci, "5) {0}", var2) |> ignore
show sb

// This example produces the following results:
//       StringBuilder.AppendFormat method:
//       1) 111
//       2) 111, 2.22
//       3) 111, 2.22, abcd
//       4) 3, 4.4, X
//       5) 2,22
Imports System.Text
Imports System.Globalization

Class Sample
   Private Shared sb As New StringBuilder()

   Public Shared Sub Main()
      Dim var1 As Integer = 111
      Dim var2 As Single = 2.22F
      Dim var3 As String = "abcd"
      Dim var4 As Object() =  {3, 4.4, "X"c}
      
      Console.WriteLine()
      Console.WriteLine("StringBuilder.AppendFormat method:")
      sb.AppendFormat("1) {0}", var1)
      Show(sb)
      sb.AppendFormat("2) {0}, {1}", var1, var2)
      Show(sb)
      sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3)
      Show(sb)
      sb.AppendFormat("4) {0}, {1}, {2}", var4)
      Show(sb)
      Dim ci As New CultureInfo("es-ES", True)
      sb.AppendFormat(ci, "5) {0}", var2)
      Show(sb)
   End Sub
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub
End Class
'
'This example produces the following results:
'
'StringBuilder.AppendFormat method:
'1) 111
'2) 111, 2.22
'3) 111, 2.22, abcd
'4) 3, 4.4, X
'5) 2,22

Hinweise

Diese Methode verwendet das zusammengesetzte Formatierungsfeature des .NET Framework, um den Wert eines Objekts in seine Textdarstellung zu konvertieren und diese Darstellung in das aktuelle StringBuilder Objekt einzubetten.

Der format Parameter besteht aus null oder mehr Textausführungen, die mit null oder mehr indizierten Platzhaltern vermischt sind, die als Formatelemente bezeichnet werden, die den arg1beiden Objekten in der Parameterliste dieser Methode entsprechenarg0. Der Formatierungsprozess ersetzt jedes Formatelement durch die Zeichenfolgendarstellung des entsprechenden Objekts.

Die Syntax eines Formatelements lautet wie folgt:

{index[,length][:formatString]}

Elemente in eckigen Klammern sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Index Die nullbasierte Position in der Parameterliste des zu formatierenden Objekts. Wenn das durch index angegebene Objekt ist, wird nulldas Formatelement durch String.Emptyersetzt. Wenn in der Indexposition kein Parameter vorhanden ist, wird ein FormatException ausgelöst.
, Länge Die Mindestanzahl von Zeichen in der Zeichenfolgendarstellung des Parameters. Bei positivem Wert ist der Parameter rechtsbündig; wenn negativ, ist sie linksbündig.
:formatString Eine Standard- oder benutzerdefinierte Formatzeichenfolge, die vom Parameter unterstützt wird.

Hinweis

Informationen zu den Standard- und benutzerdefinierten Formatzeichenfolgen, die mit Datums- und Uhrzeitwerten verwendet werden, finden Sie unter Standarddatums- und Uhrzeitformatzeichenfolgen und benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen. Informationen zu standard- und benutzerdefinierten Formatzeichenfolgen, die mit numerischen Werten verwendet werden, finden Sie unter Numerische Standardformatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen. Informationen zu den Standardformatzeichenfolgen, die mit Enumerationen verwendet werden, finden Sie unter Enumerationsformatzeichenfolgen.

arg0 und arg1 stellen die zu formatierenden Objekte dar. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung von oder arg0arg1ersetzt. Wenn das Formatelement enthält formatString und das entsprechende Objekt die IFormattable Schnittstelle implementiert, arg definiert x.ToString(formatString, provider) die Formatierung, wobei x der Index des Arguments ist. Andernfalls arg definiert x.ToString() die Formatierung.

Wenn die zugewiesene format Zeichenfolge "Vielen Dank für Ihre Spende von {0:#####}-Dosen lebensmittel an unsere gemeinnützige organization." lautet und arg0 eine ganze Zahl mit dem Wert 10 ist, lautet der Rückgabewert "Vielen Dank für Ihre Spende von 10 Dosen Lebensmittel an unsere gemeinnützige organization".

Hinweise für Aufrufer

Wenn Sie das Objekt in .NET Core und in der .NET Framework 4.0 und höher instanziieren, indem Sie den StringBuilderStringBuilder(Int32, Int32) Konstruktor aufrufen, kann sowohl die Länge als auch die Kapazität des StringBuilder instance über den Wert seiner MaxCapacity Eigenschaft hinausgehen. Dies kann insbesondere auftreten, wenn Sie die Append(String) Methoden und AppendFormat(String, Object) aufrufen, um kleine Zeichenfolgen anzufügen.

Weitere Informationen

Gilt für:

AppendFormat(IFormatProvider, String, Object, Object, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der drei Argumente mit einem angegebenen Formatanbieter ersetzt.

public:
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
public System.Text.StringBuilder AppendFormat (IFormatProvider provider, string format, object arg0, object arg1, object arg2);
public System.Text.StringBuilder AppendFormat (IFormatProvider? provider, string format, object? arg0, object? arg1, object? arg2);
member this.AppendFormat : IFormatProvider * string * obj * obj * obj -> System.Text.StringBuilder
Public Function AppendFormat (provider As IFormatProvider, format As String, arg0 As Object, arg1 As Object, arg2 As Object) As StringBuilder

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

format
String

Eine kombinierte Formatzeichenfolge.

arg0
Object

Das erste zu formatierende Objekt.

arg1
Object

Das zweite zu formatierende Objekt.

arg2
Object

Das dritte zu formatierende Objekt.

Gibt zurück

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde. Nach dem Anfügevorgang enthält diese Instanz alle Daten, die auch vor dem Vorgang vorhanden waren. Ihnen folgt eine Kopie von format, wobei die Formatangabe durch die Zeichenfolgendarstellung des entsprechenden Objektarguments ersetzt wurde.

Ausnahmen

format ist null.

format ist ungültig.

- oder -

Der Index eines Formatelements ist kleiner als 0 (null) oder größer oder gleich 3 (drei).

Die Länge der erweiterten Zeichenfolge würde MaxCapacity überschreiten.

Beispiele

Im folgenden Beispiel wird die AppendFormat(IFormatProvider, String, Object, Object, Object) -Methode verwendet, um das Ergebnis eines booleschen Vorgangs mit ganzzahligen Werten zu veranschaulichen And . Beachten Sie, dass die Formatzeichenfolge sechs Formatelemente enthält, die Methode jedoch nur drei Elemente in der Argumentliste enthält, da jedes Element auf zwei verschiedene Arten formatiert ist.

using System;
using System.Globalization;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();
      CultureInfo culture = CultureInfo.CreateSpecificCulture("fr-FR");
      StringBuilder sb = new StringBuilder();
      string formatString = "    {0,12:N0} ({0,8:X8})\n" +
                            "And {1,12:N0} ({1,8:X8})\n" +
                            "  = {2,12:N0} ({2,8:X8})\n";
      for (int ctr = 0; ctr <= 2; ctr++) {
         int value1 = rnd.Next();
         int value2 = rnd.Next();
         sb.AppendFormat(culture, formatString,
                         value1, value2, value1 & value2).
                         AppendLine();
      }
      Console.WriteLine(sb.ToString());
   }
}
// The example displays output like the following:
//           1 984 112 195 (76432643)
//       And 1 179 778 511 (4651FDCF)
//         = 1 178 674 243 (46412443)
//
//           2 034 813 710 (7948CB0E)
//       And  569 333 976 (21EF58D8)
//         =  558 385 160 (21484808)
//
//            126 717 735 (078D8F27)
//       And 1 830 715 973 (6D1E8245)
//         =   84 705 797 (050C8205)
open System
open System.Globalization
open System.Text

let rnd = Random()
let culture = CultureInfo.CreateSpecificCulture "fr-FR"
let sb = StringBuilder()

let formatString =
    "    {0,12:N0} ({0,8:X8})\nAnd {1,12:N0} ({1,8:X8})\n  = {2,12:N0} ({2,8:X8})\n"

for _ = 0 to 2 do
    let value1 = rnd.Next()
    let value2 = rnd.Next()

    sb
        .AppendFormat(culture, formatString, value1, value2, value1 &&& value2)
        .AppendLine()
    |> ignore

printfn $"{sb}"

// The example displays output like the following:
//           1 984 112 195 (76432643)
//       And 1 179 778 511 (4651FDCF)
//         = 1 178 674 243 (46412443)
//
//           2 034 813 710 (7948CB0E)
//       And  569 333 976 (21EF58D8)
//         =  558 385 160 (21484808)
//
//            126 717 735 (078D8F27)
//       And 1 830 715 973 (6D1E8245)
//         =   84 705 797 (050C8205)
Imports System.Globalization
Imports System.Text

Public Module Example
   Public Sub Main()
      Dim rnd As New Random()
      Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture("fr-FR")
      Dim sb As New StringBuilder()
      Dim formatString As String = "    {0,12:N0} ({0,8:X8})" + vbCrLf +
                                   "And {1,12:N0} ({1,8:X8})" + vbCrLf +
                                   "  = {2,12:N0} ({2,8:X8})" + vbCrLf
      For ctr As Integer = 0 To 2
         Dim value1 As Integer = rnd.Next()
         Dim value2 As Integer = rnd.Next()
         sb.AppendFormat(culture, formatString,
                         value1, value2, value1 And value2).AppendLine()
      Next
      Console.WriteLine(sb.ToString())
   End Sub
End Module
' The example displays the following output:
'           1 984 112 195 (76432643)
'       And 1 179 778 511 (4651FDCF)
'         = 1 178 674 243 (46412443)
'
'           2 034 813 710 (7948CB0E)
'       And  569 333 976 (21EF58D8)
'         =  558 385 160 (21484808)
'
'            126 717 735 (078D8F27)
'       And 1 830 715 973 (6D1E8245)
'         =   84 705 797 (050C8205)

Hinweise

Diese Methode verwendet die zusammengesetzte Formatierungsfunktion des .NET Framework, um den Wert eines Objekts in seine Textdarstellung zu konvertieren und diese Darstellung in das aktuelle StringBuilder Objekt einzubetten.

Der format Parameter besteht aus 0 oder mehr Textläufen, die mit null oder mehr indizierten Platzhaltern, sogenannten Formatelementen, gemischt sind, die Objekten in der Parameterliste dieser Methode entsprechen. Der Formatierungsprozess ersetzt jedes Formatelement durch die Zeichenfolgendarstellung des entsprechenden Objekts.

Die Syntax eines Formatelements lautet wie folgt:

{index[,length][:formatString]}

Elemente in eckigen Klammern sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Index Die nullbasierte Position in der Parameterliste des zu formatierenden Objekts. Wenn das durch index angegebene Objekt ist null, wird das Formatelement durch String.Emptyersetzt. Wenn an der Indexposition kein Parameter vorhanden ist, wird ein FormatException ausgelöst.
, länge Die Mindestanzahl von Zeichen in der Zeichenfolgendarstellung des Parameters. Wenn der Parameter positiv ist, ist er rechtsbündig ausgerichtet. wenn negativ, wird sie linksbündig ausgerichtet.
:formatString Eine standard- oder benutzerdefinierte Formatzeichenfolge, die vom -Parameter unterstützt wird.

Hinweis

Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit Datums- und Uhrzeitwerten verwendet werden, finden Sie unter Standardformatzeichenfolgen für Datum und Uhrzeit und benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit. Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit numerischen Werten verwendet werden, finden Sie unter Standardmäßige numerische Formatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen. Informationen zu den Standardformatzeichenfolgen, die mit Enumerationen verwendet werden, finden Sie unter Enumerationsformatzeichenfolgen.

Der provider Parameter gibt eine IFormatProvider Implementierung an, die Formatierungsinformationen für arg0 und arg1bereitstellen kann. provider kann eine der folgenden Formen haben:

  • Ein CultureInfo -Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

  • Ein NumberFormatInfo -Objekt, das kulturspezifische Formatierungsinformationen für arg0 oder arg1 bereitstellt, wenn es sich um numerische Werte handelt.

  • Ein DateTimeFormatInfo -Objekt, das kulturspezifische Formatierungsinformationen für arg0, arg1oder arg2 bereitstellt, wenn es sich um Datums- und Uhrzeitwerte handelt.

  • Eine benutzerdefinierte IFormatProvider Implementierung, die Formatierungsinformationen für arg0, arg1und arg2bereitstellt. In der Regel implementiert eine solche Implementierung auch die ICustomFormatter -Schnittstelle.

Wenn der provider Parameter ist null, werden Formatanbieterinformationen aus der aktuellen Kultur abgerufen.

arg0, arg1und arg2 stellen die zu formatierenden Objekte dar. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung des Objekts ersetzt, das über den entsprechenden Index verfügt. Wenn das Formatelement enthält formatString und das entsprechende Argument die IFormattable -Schnittstelle implementiert, definiert die -Methode des ToString(formatString, provider) Arguments die Formatierung. Andernfalls definiert die -Methode des ToString() Arguments die Formatierung.

Hinweise für Aufrufer

Wenn Sie in .NET Core und in der .NET Framework 4.0 und höher das Objekt instanziieren, indem Sie den StringBuilderStringBuilder(Int32, Int32) Konstruktor aufrufen, kann sowohl die Länge als auch die Kapazität des StringBuilder instance den Wert seiner MaxCapacity Eigenschaft überschreiten. Dies kann insbesondere auftreten, wenn Sie die Append(String) Methoden und AppendFormat(String, Object) aufrufen, um kleine Zeichenfolgen anzufügen.

Weitere Informationen

Gilt für:

AppendFormat(String, Object, Object, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung für eines von drei Argumenten ersetzt.

public:
 System::Text::StringBuilder ^ AppendFormat(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
public System.Text.StringBuilder AppendFormat (string format, object arg0, object arg1, object arg2);
public System.Text.StringBuilder AppendFormat (string format, object? arg0, object? arg1, object? arg2);
member this.AppendFormat : string * obj * obj * obj -> System.Text.StringBuilder
Public Function AppendFormat (format As String, arg0 As Object, arg1 As Object, arg2 As Object) As StringBuilder

Parameter

format
String

Eine kombinierte Formatzeichenfolge.

arg0
Object

Das erste zu formatierende Objekt.

arg1
Object

Das zweite zu formatierende Objekt.

arg2
Object

Das dritte zu formatierende Objekt.

Gibt zurück

Ein Verweis auf diese Instanz mit angefügtem format. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung des entsprechenden Objektarguments ersetzt.

Ausnahmen

format ist null.

format ist ungültig.

- oder -

Der Index eines Formatelements ist kleiner als 0 (null) oder größer oder gleich 3.

Die Länge der erweiterten Zeichenfolge würde MaxCapacity überschreiten.

Beispiele

Das folgende Beispiel veranschaulicht die AppendFormat Methode.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;
void Show( StringBuilder^ sbs )
{
   Console::WriteLine( sbs );
   sbs->Length = 0;
}

int main()
{
   StringBuilder^ sb = gcnew StringBuilder;
   int var1 = 111;
   float var2 = 2.22F;
   String^ var3 = "abcd";
   array<Object^>^var4 = {3,4.4,(Char)'X'};
   Console::WriteLine();
   Console::WriteLine( "StringBuilder.AppendFormat method:" );
   sb->AppendFormat( "1) {0}", var1 );
   Show( sb );
   sb->AppendFormat( "2) {0}, {1}", var1, var2 );
   Show( sb );
   sb->AppendFormat( "3) {0}, {1}, {2}", var1, var2, var3 );
   Show( sb );
   sb->AppendFormat( "4) {0}, {1}, {2}", var4 );
   Show( sb );
   CultureInfo^ ci = gcnew CultureInfo( "es-ES",true );
   array<Object^>^temp1 = {var2};
   sb->AppendFormat( ci, "5) {0}", temp1 );
   Show( sb );
}

/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
using System;
using System.Text;
using System.Globalization;

class Sample
{
    static StringBuilder sb = new StringBuilder();

    public static void Main()
    {
    int    var1   = 111;
    float  var2   = 2.22F;
    string var3   = "abcd";
    object[] var4 = {3, 4.4, 'X'};

    Console.WriteLine();
    Console.WriteLine("StringBuilder.AppendFormat method:");
    sb.AppendFormat("1) {0}", var1);
    Show(sb);
    sb.AppendFormat("2) {0}, {1}", var1, var2);
    Show(sb);
    sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
    Show(sb);
    sb.AppendFormat("4) {0}, {1}, {2}", var4);
    Show(sb);
    CultureInfo ci = new CultureInfo("es-ES", true);
    sb.AppendFormat(ci, "5) {0}", var2);
    Show(sb);
    }

    public static void Show(StringBuilder sbs)
    {
    Console.WriteLine(sbs.ToString());
    sb.Length = 0;
    }
}
/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
open System.Text
open System.Globalization

let sb = StringBuilder()

let show (sbs: StringBuilder) =
    printfn $"{sbs}"
    sb.Length <- 0

let var1 = 111
let var2 = 2.22f
let var3 = "abcd"
let var4: obj[] = [| 3; 4.4; 'X' |]

printfn "StringBuilder.AppendFormat method:"
sb.AppendFormat("1) {0}", var1) |> ignore
show sb
sb.AppendFormat("2) {0}, {1}", var1, var2) |> ignore
show sb
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3) |> ignore
show sb
sb.AppendFormat("4) {0}, {1}, {2}", var4) |> ignore
show sb
let ci = CultureInfo("es-ES", true)
sb.AppendFormat(ci, "5) {0}", var2) |> ignore
show sb

// This example produces the following results:
//       StringBuilder.AppendFormat method:
//       1) 111
//       2) 111, 2.22
//       3) 111, 2.22, abcd
//       4) 3, 4.4, X
//       5) 2,22
Imports System.Text
Imports System.Globalization

Class Sample
   Private Shared sb As New StringBuilder()

   Public Shared Sub Main()
      Dim var1 As Integer = 111
      Dim var2 As Single = 2.22F
      Dim var3 As String = "abcd"
      Dim var4 As Object() =  {3, 4.4, "X"c}
      
      Console.WriteLine()
      Console.WriteLine("StringBuilder.AppendFormat method:")
      sb.AppendFormat("1) {0}", var1)
      Show(sb)
      sb.AppendFormat("2) {0}, {1}", var1, var2)
      Show(sb)
      sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3)
      Show(sb)
      sb.AppendFormat("4) {0}, {1}, {2}", var4)
      Show(sb)
      Dim ci As New CultureInfo("es-ES", True)
      sb.AppendFormat(ci, "5) {0}", var2)
      Show(sb)
   End Sub
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub
End Class
'
'This example produces the following results:
'
'StringBuilder.AppendFormat method:
'1) 111
'2) 111, 2.22
'3) 111, 2.22, abcd
'4) 3, 4.4, X
'5) 2,22

Hinweise

Diese Methode verwendet die zusammengesetzte Formatierungsfunktion des .NET Framework, um den Wert eines Objekts in seine Textdarstellung zu konvertieren und diese Darstellung in das aktuelle StringBuilder Objekt einzubetten.

Der format Parameter besteht aus 0 oder mehr Textläufen, die mit null oder mehr indizierten Platzhaltern, sogenannten Formatelementen, gemischt sind, die über arg2die -Objekte in der Parameterliste dieser Methode entsprechenarg0. Der Formatierungsprozess ersetzt jedes Formatelement durch die Zeichenfolgendarstellung des entsprechenden Objekts.

Die Syntax eines Formatelements lautet wie folgt:

{index[,length][:formatString]}

Elemente in eckigen Klammern sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Index Die nullbasierte Position in der Parameterliste des zu formatierenden Objekts. Wenn das durch index angegebene Objekt ist null, wird das Formatelement durch String.Emptyersetzt. Wenn an der Indexposition kein Parameter vorhanden ist, wird ein FormatException ausgelöst.
, länge Die Mindestanzahl von Zeichen in der Zeichenfolgendarstellung des Parameters. Wenn der Parameter positiv ist, ist er rechtsbündig ausgerichtet. wenn negativ, wird sie linksbündig ausgerichtet.
:formatString Eine standard- oder benutzerdefinierte Formatzeichenfolge, die vom -Parameter unterstützt wird.

Hinweis

Informationen zu den Standard- und benutzerdefinierten Formatzeichenfolgen, die mit Datums- und Uhrzeitwerten verwendet werden, finden Sie unter Standarddatums- und Uhrzeitformatzeichenfolgen und benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen. Informationen zu standard- und benutzerdefinierten Formatzeichenfolgen, die mit numerischen Werten verwendet werden, finden Sie unter Numerische Standardformatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen. Informationen zu den Standardformatzeichenfolgen, die mit Enumerationen verwendet werden, finden Sie unter Enumerationsformatzeichenfolgen.

arg0, arg1und arg2 stellen die zu formatierenden Objekte dar. Jedes Formatelement in format wird je nach Index des Formatelements durch die Zeichenfolgendarstellung von arg0, arg1oder arg2ersetzt. Wenn das Formatelement enthält formatString und das entsprechende Objekt in args die IFormattable -Schnittstelle implementiert, arg definiert x.ToString(formatString, null) die Formatierung, wobei x der Index des Arguments ist. Andernfalls arg definiert x.ToString() die Formatierung.

Wenn die zugewiesene format Zeichenfolge "Vielen Dank für Ihre Spende von {0:#####}-Dosen lebensmittel an unsere gemeinnützige organization." lautet und arg0 eine ganze Zahl mit dem Wert 10 ist, lautet der Rückgabewert "Vielen Dank für Ihre Spende von 10 Dosen Lebensmittel an unsere gemeinnützige organization".

Hinweise für Aufrufer

Wenn Sie in .NET Core und in der .NET Framework 4.0 und höher das Objekt instanziieren, indem Sie den StringBuilderStringBuilder(Int32, Int32) Konstruktor aufrufen, kann sowohl die Länge als auch die Kapazität des StringBuilder instance den Wert seiner MaxCapacity Eigenschaft überschreiten. Dies kann insbesondere auftreten, wenn Sie die Append(String) Methoden und AppendFormat(String, Object) aufrufen, um kleine Zeichenfolgen anzufügen.

Weitere Informationen

Gilt für:

AppendFormat(IFormatProvider, String, Object, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der zwei Argumente mit einem angegebenen Formatanbieter ersetzt.

public:
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public System.Text.StringBuilder AppendFormat (IFormatProvider provider, string format, object arg0, object arg1);
public System.Text.StringBuilder AppendFormat (IFormatProvider? provider, string format, object? arg0, object? arg1);
member this.AppendFormat : IFormatProvider * string * obj * obj -> System.Text.StringBuilder
Public Function AppendFormat (provider As IFormatProvider, format As String, arg0 As Object, arg1 As Object) As StringBuilder

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

format
String

Eine kombinierte Formatzeichenfolge.

arg0
Object

Das erste zu formatierende Objekt.

arg1
Object

Das zweite zu formatierende Objekt.

Gibt zurück

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde. Nach dem Anfügevorgang enthält diese Instanz alle Daten, die auch vor dem Vorgang vorhanden waren. Ihnen folgt eine Kopie von format, wobei die Formatangabe durch die Zeichenfolgendarstellung des entsprechenden Objektarguments ersetzt wurde.

Ausnahmen

format ist null.

format ist ungültig.

- oder -

Der Index eines Formatelements ist kleiner als 0 (null) oder größer oder gleich 2.

Die Länge der erweiterten Zeichenfolge würde MaxCapacity überschreiten.

Beispiele

Im folgenden Beispiel wird die AppendFormat(IFormatProvider, 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 über drei Formatelemente verfügt, obwohl es nur objekte gibt, die formatiert werden sollen. 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 System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;

public class Example
{
   public static void Main()
   {
      CultureInfo culture = new CultureInfo("en-US");
      StringBuilder sb = new StringBuilder();
      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);

      sb.AppendLine("Temperature Information:\n");
      foreach (var item in temperatureInfo)
      {
         sb.AppendFormat(culture,
                         "Temperature at {0,8:t} on {0,9:d}: {1,5:N1}°F\n",
                         item.Key, item.Value);
      }
      Console.WriteLine(sb.ToString());
   }
}
// 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
open System
open System.Collections.Generic
open System.Globalization
open System.Text

let culture = CultureInfo "en-US"
let sb = StringBuilder()
let temperatureInfo = 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)

sb.AppendLine "Temperature Information:\n" |> ignore

for item in temperatureInfo do
    sb.AppendFormat(culture, "Temperature at {0,8:t} on {0,9:d}: {1,5:N1}°F\n", item.Key, item.Value)
    |> ignore

printfn $"{sb}"

// 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
Imports System.Collections.Generic
Imports System.Globalization
Imports System.Text

Module Example
   Public Sub Main()
      Dim culture As New CultureInfo("en-US")
      Dim sb As New StringBuilder()
      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)
      
      sb.AppendLine("Temperature Information:").AppendLine()
      For Each item In temperatureInfo
         sb.AppendFormat(culture,
                         "Temperature at {0,8:t} on {0,9:d}: {1,5:N1}°F",
                         item.Key, item.Value).AppendLine()
      Next
      Console.WriteLine(sb.ToString())
   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

Hinweise

Diese Methode verwendet das zusammengesetzte Formatierungsfeature des .NET Framework, um den Wert eines Objekts in seine Textdarstellung zu konvertieren und diese Darstellung in das aktuelle StringBuilder Objekt einzubetten.

Der format Parameter besteht aus null oder mehr Textausführungen, die mit null oder mehr indizierten Platzhaltern, sogenannten Formatelementen, vermischt sind, die Objekten in der Parameterliste dieser Methode entsprechen. Der Formatierungsprozess ersetzt jedes Formatelement durch die Zeichenfolgendarstellung des entsprechenden Objekts.

Die Syntax eines Formatelements lautet wie folgt:

{index[,length][:formatString]}

Elemente in eckigen Klammern sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Index Die nullbasierte Position in der Parameterliste des zu formatierenden Objekts. Wenn das durch index angegebene Objekt ist, wird nulldas Formatelement durch String.Emptyersetzt. Wenn in der Indexposition kein Parameter vorhanden ist, wird ein FormatException ausgelöst.
, Länge Die Mindestanzahl von Zeichen in der Zeichenfolgendarstellung des Parameters. Bei positivem Wert ist der Parameter rechtsbündig; wenn negativ, ist sie linksbündig.
:formatString Eine Standard- oder benutzerdefinierte Formatzeichenfolge, die vom Parameter unterstützt wird.

Hinweis

Informationen zu den Standard- und benutzerdefinierten Formatzeichenfolgen, die mit Datums- und Uhrzeitwerten verwendet werden, finden Sie unter Standarddatums- und Uhrzeitformatzeichenfolgen und benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen. Informationen zu standard- und benutzerdefinierten Formatzeichenfolgen, die mit numerischen Werten verwendet werden, finden Sie unter Numerische Standardformatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen. Informationen zu den Standardformatzeichenfolgen, die mit Enumerationen verwendet werden, finden Sie unter Enumerationsformatzeichenfolgen.

Der provider Parameter gibt eine IFormatProvider Implementierung an, die Formatierungsinformationen für arg0 und arg1bereitstellen kann. provider kann eine der folgenden Formen haben:

  • Ein CultureInfo Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

  • Ein NumberFormatInfo -Objekt, das kulturspezifische Formatierungsinformationen für arg0 oder arg1 bereitstellt, wenn es sich um numerische Werte handelt.

  • Ein DateTimeFormatInfo -Objekt, das kulturspezifische Formatierungsinformationen für arg0 oder arg1 bereitstellt, wenn es sich um Datums- und Uhrzeitwerte handelt.

  • Eine benutzerdefinierte IFormatProvider Implementierung, die Formatierungsinformationen für arg0 und arg1bereitstellt. In der Regel implementiert eine solche Implementierung auch die ICustomFormatter Schnittstelle.

Wenn der provider Parameter ist null, werden Formatanbieterinformationen aus der aktuellen Kultur abgerufen.

arg0 und arg1 stellen die zu formatierenden Objekte dar. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung des Objekts ersetzt, das über den entsprechenden Index verfügt. Wenn das Formatelement enthält formatString und das entsprechende Argument die IFormattable Schnittstelle implementiert, definiert die Methode des ToString(formatString, provider) Arguments die Formatierung. Andernfalls definiert die Methode des ToString() Arguments die Formatierung.

Hinweise für Aufrufer

IIn .NET Core und in der .NET Framework 4.0 und höheren Versionen kann beim Instanziieren des StringBuilder Objekts durch Aufrufen des StringBuilder(Int32, Int32) Konstruktors sowohl die Länge als auch die Kapazität des StringBuilder instance über den Wert seiner MaxCapacity Eigenschaft hinausgehen. Dies kann insbesondere auftreten, wenn Sie die Append(String) Methoden und AppendFormat(String, Object) aufrufen, um kleine Zeichenfolgen anzufügen.

Weitere Informationen

Gilt für:

AppendFormat(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente ersetzt, die einen angegebenen Formatanbieter verwenden.

public:
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, ReadOnlySpan<System::Object ^> args);
public System.Text.StringBuilder AppendFormat (IFormatProvider? provider, System.Text.CompositeFormat format, ReadOnlySpan<object?> args);
member this.AppendFormat : IFormatProvider * System.Text.CompositeFormat * ReadOnlySpan<obj> -> System.Text.StringBuilder
Public Function AppendFormat (provider As IFormatProvider, format As CompositeFormat, args As ReadOnlySpan(Of Object)) As StringBuilder

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

args
ReadOnlySpan<Object>

Eine Spanne von zu formatierenden Objekten.

Gibt zurück

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde.

Ausnahmen

format ist null

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

Gilt für:

AppendFormat(String, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines einzelnen Arguments ersetzt.

public:
 System::Text::StringBuilder ^ AppendFormat(System::String ^ format, System::Object ^ arg0);
public System.Text.StringBuilder AppendFormat (string format, object arg0);
public System.Text.StringBuilder AppendFormat (string format, object? arg0);
member this.AppendFormat : string * obj -> System.Text.StringBuilder
Public Function AppendFormat (format As String, arg0 As Object) As StringBuilder

Parameter

format
String

Eine kombinierte Formatzeichenfolge.

arg0
Object

Ein zu formatierendes Objekt.

Gibt zurück

Ein Verweis auf diese Instanz mit angefügtem format. Die einzelnen Elemente in format werden jeweils durch eine Zeichenfolgendarstellung von arg0 ersetzt.

Ausnahmen

format ist null.

format ist ungültig.

- oder -

Der Index eines Formatelements ist kleiner als 0 (null) oder größer gleich 1.

Die Länge der erweiterten Zeichenfolge würde MaxCapacity überschreiten.

Beispiele

Das folgende Beispiel veranschaulicht die AppendFormat Methode.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;
void Show( StringBuilder^ sbs )
{
   Console::WriteLine( sbs );
   sbs->Length = 0;
}

int main()
{
   StringBuilder^ sb = gcnew StringBuilder;
   int var1 = 111;
   float var2 = 2.22F;
   String^ var3 = "abcd";
   array<Object^>^var4 = {3,4.4,(Char)'X'};
   Console::WriteLine();
   Console::WriteLine( "StringBuilder.AppendFormat method:" );
   sb->AppendFormat( "1) {0}", var1 );
   Show( sb );
   sb->AppendFormat( "2) {0}, {1}", var1, var2 );
   Show( sb );
   sb->AppendFormat( "3) {0}, {1}, {2}", var1, var2, var3 );
   Show( sb );
   sb->AppendFormat( "4) {0}, {1}, {2}", var4 );
   Show( sb );
   CultureInfo^ ci = gcnew CultureInfo( "es-ES",true );
   array<Object^>^temp1 = {var2};
   sb->AppendFormat( ci, "5) {0}", temp1 );
   Show( sb );
}

/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
using System;
using System.Text;
using System.Globalization;

class Sample
{
    static StringBuilder sb = new StringBuilder();

    public static void Main()
    {
    int    var1   = 111;
    float  var2   = 2.22F;
    string var3   = "abcd";
    object[] var4 = {3, 4.4, 'X'};

    Console.WriteLine();
    Console.WriteLine("StringBuilder.AppendFormat method:");
    sb.AppendFormat("1) {0}", var1);
    Show(sb);
    sb.AppendFormat("2) {0}, {1}", var1, var2);
    Show(sb);
    sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
    Show(sb);
    sb.AppendFormat("4) {0}, {1}, {2}", var4);
    Show(sb);
    CultureInfo ci = new CultureInfo("es-ES", true);
    sb.AppendFormat(ci, "5) {0}", var2);
    Show(sb);
    }

    public static void Show(StringBuilder sbs)
    {
    Console.WriteLine(sbs.ToString());
    sb.Length = 0;
    }
}
/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
open System.Text
open System.Globalization

let sb = StringBuilder()

let show (sbs: StringBuilder) =
    printfn $"{sbs}"
    sb.Length <- 0

let var1 = 111
let var2 = 2.22f
let var3 = "abcd"
let var4: obj[] = [| 3; 4.4; 'X' |]

printfn "StringBuilder.AppendFormat method:"
sb.AppendFormat("1) {0}", var1) |> ignore
show sb
sb.AppendFormat("2) {0}, {1}", var1, var2) |> ignore
show sb
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3) |> ignore
show sb
sb.AppendFormat("4) {0}, {1}, {2}", var4) |> ignore
show sb
let ci = CultureInfo("es-ES", true)
sb.AppendFormat(ci, "5) {0}", var2) |> ignore
show sb

// This example produces the following results:
//       StringBuilder.AppendFormat method:
//       1) 111
//       2) 111, 2.22
//       3) 111, 2.22, abcd
//       4) 3, 4.4, X
//       5) 2,22
Imports System.Text
Imports System.Globalization

Class Sample
   Private Shared sb As New StringBuilder()

   Public Shared Sub Main()
      Dim var1 As Integer = 111
      Dim var2 As Single = 2.22F
      Dim var3 As String = "abcd"
      Dim var4 As Object() =  {3, 4.4, "X"c}
      
      Console.WriteLine()
      Console.WriteLine("StringBuilder.AppendFormat method:")
      sb.AppendFormat("1) {0}", var1)
      Show(sb)
      sb.AppendFormat("2) {0}, {1}", var1, var2)
      Show(sb)
      sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3)
      Show(sb)
      sb.AppendFormat("4) {0}, {1}, {2}", var4)
      Show(sb)
      Dim ci As New CultureInfo("es-ES", True)
      sb.AppendFormat(ci, "5) {0}", var2)
      Show(sb)
   End Sub
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub
End Class
'
'This example produces the following results:
'
'StringBuilder.AppendFormat method:
'1) 111
'2) 111, 2.22
'3) 111, 2.22, abcd
'4) 3, 4.4, X
'5) 2,22

Hinweise

Diese Methode verwendet die zusammengesetzte Formatierungsfunktion des .NET Framework, um den Wert eines Objekts in seine Textdarstellung zu konvertieren und diese Darstellung in das aktuelle StringBuilder Objekt einzubetten.

Der format Parameter besteht aus null oder mehr Textläufen, die mit null oder mehr indizierten Platzhaltern gemischt sind, die als Formatelemente bezeichnet werden. Der Index der Formatelemente muss 0 sein, um dem einzelnen Objekt in der Parameterliste dieser Methode zu arg0entsprechen. Der Formatierungsprozess ersetzt jedes Formatelement durch die Zeichenfolgendarstellung von arg0.

Die Syntax eines Formatelements lautet wie folgt:

{index[,length][:formatString]}

Elemente in eckigen Klammern sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Index Die nullbasierte Position in der Parameterliste des zu formatierenden Objekts. Wenn das durch index angegebene Objekt ist null, wird das Formatelement durch String.Emptyersetzt. Wenn an der Indexposition kein Parameter vorhanden ist, wird ein FormatException ausgelöst.
, länge Die Mindestanzahl von Zeichen in der Zeichenfolgendarstellung des Parameters. Wenn der Parameter positiv ist, ist er rechtsbündig ausgerichtet. wenn negativ, wird sie linksbündig ausgerichtet.
:formatString Eine standard- oder benutzerdefinierte Formatzeichenfolge, die vom -Parameter unterstützt wird.

Hinweis

Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit Datums- und Uhrzeitwerten verwendet werden, finden Sie unter Standardformatzeichenfolgen für Datum und Uhrzeit und benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit. Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit numerischen Werten verwendet werden, finden Sie unter Standardmäßige numerische Formatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen. Informationen zu den Standardformatzeichenfolgen, die mit Enumerationen verwendet werden, finden Sie unter Enumerationsformatzeichenfolgen.

arg0 stellt das zu formatierende Objekt dar. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung von arg0ersetzt. Wenn das Formatelement die IFormattable Schnittstelle enthält formatString und arg0 implementiert, definiert die arg0.ToString(formatString, null) Formatierung. arg0.ToString() Definiert andernfalls die Formatierung.

Wenn die zugewiesene format Zeichenfolge "Vielen Dank für Ihre Spende von {0:#####}-Dosen lebensmittel an unsere wohltätige organization." lautet und arg0 eine ganze Zahl mit dem Wert 10 ist, lautet der Rückgabewert "Vielen Dank für Ihre Spende von 10 Dosen Lebensmittel an unsere gemeinnützige organization.".

Hinweise für Aufrufer

Wenn Sie das Objekt in .NET Core und in der .NET Framework 4.0 und höher instanziieren, indem Sie den StringBuilderStringBuilder(Int32, Int32) Konstruktor aufrufen, kann sowohl die Länge als auch die Kapazität des StringBuilder instance über den Wert seiner MaxCapacity Eigenschaft hinausgehen. Dies kann insbesondere auftreten, wenn Sie die Append(String) Methoden und AppendFormat(String, Object) aufrufen, um kleine Zeichenfolgen anzufügen.

Weitere Informationen

Gilt für:

AppendFormat(IFormatProvider, String, Object[])

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird von der Zeichenfolgendarstellung eines entsprechenden Arguments in einem Parameterarray ersetzt, das einen angegebenen Formatanbieter verwendet.

public:
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::String ^ format, ... cli::array <System::Object ^> ^ args);
public System.Text.StringBuilder AppendFormat (IFormatProvider provider, string format, params object[] args);
public System.Text.StringBuilder AppendFormat (IFormatProvider? provider, string format, params object?[] args);
member this.AppendFormat : IFormatProvider * string * obj[] -> System.Text.StringBuilder
Public Function AppendFormat (provider As IFormatProvider, format As String, ParamArray args As Object()) As StringBuilder

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

format
String

Eine kombinierte Formatzeichenfolge.

args
Object[]

Ein Array zu formatierender Objekte.

Gibt zurück

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde. Nach dem Anfügevorgang enthält diese Instanz alle Daten, die auch vor dem Vorgang vorhanden waren. Ihnen folgt eine Kopie von format, wobei die Formatangabe durch die Zeichenfolgendarstellung des entsprechenden Objektarguments ersetzt wurde.

Ausnahmen

format 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.

Die Länge der erweiterten Zeichenfolge würde MaxCapacity überschreiten.

Beispiele

Das folgende Beispiel veranschaulicht die AppendFormat Methode.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;
void Show( StringBuilder^ sbs )
{
   Console::WriteLine( sbs );
   sbs->Length = 0;
}

int main()
{
   StringBuilder^ sb = gcnew StringBuilder;
   int var1 = 111;
   float var2 = 2.22F;
   String^ var3 = "abcd";
   array<Object^>^var4 = {3,4.4,(Char)'X'};
   Console::WriteLine();
   Console::WriteLine( "StringBuilder.AppendFormat method:" );
   sb->AppendFormat( "1) {0}", var1 );
   Show( sb );
   sb->AppendFormat( "2) {0}, {1}", var1, var2 );
   Show( sb );
   sb->AppendFormat( "3) {0}, {1}, {2}", var1, var2, var3 );
   Show( sb );
   sb->AppendFormat( "4) {0}, {1}, {2}", var4 );
   Show( sb );
   CultureInfo^ ci = gcnew CultureInfo( "es-ES",true );
   array<Object^>^temp1 = {var2};
   sb->AppendFormat( ci, "5) {0}", temp1 );
   Show( sb );
}

/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
using System;
using System.Text;
using System.Globalization;

class Sample
{
    static StringBuilder sb = new StringBuilder();

    public static void Main()
    {
    int    var1   = 111;
    float  var2   = 2.22F;
    string var3   = "abcd";
    object[] var4 = {3, 4.4, 'X'};

    Console.WriteLine();
    Console.WriteLine("StringBuilder.AppendFormat method:");
    sb.AppendFormat("1) {0}", var1);
    Show(sb);
    sb.AppendFormat("2) {0}, {1}", var1, var2);
    Show(sb);
    sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
    Show(sb);
    sb.AppendFormat("4) {0}, {1}, {2}", var4);
    Show(sb);
    CultureInfo ci = new CultureInfo("es-ES", true);
    sb.AppendFormat(ci, "5) {0}", var2);
    Show(sb);
    }

    public static void Show(StringBuilder sbs)
    {
    Console.WriteLine(sbs.ToString());
    sb.Length = 0;
    }
}
/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
open System.Text
open System.Globalization

let sb = StringBuilder()

let show (sbs: StringBuilder) =
    printfn $"{sbs}"
    sb.Length <- 0

let var1 = 111
let var2 = 2.22f
let var3 = "abcd"
let var4: obj[] = [| 3; 4.4; 'X' |]

printfn "StringBuilder.AppendFormat method:"
sb.AppendFormat("1) {0}", var1) |> ignore
show sb
sb.AppendFormat("2) {0}, {1}", var1, var2) |> ignore
show sb
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3) |> ignore
show sb
sb.AppendFormat("4) {0}, {1}, {2}", var4) |> ignore
show sb
let ci = CultureInfo("es-ES", true)
sb.AppendFormat(ci, "5) {0}", var2) |> ignore
show sb

// This example produces the following results:
//       StringBuilder.AppendFormat method:
//       1) 111
//       2) 111, 2.22
//       3) 111, 2.22, abcd
//       4) 3, 4.4, X
//       5) 2,22
Imports System.Text
Imports System.Globalization

Class Sample
   Private Shared sb As New StringBuilder()

   Public Shared Sub Main()
      Dim var1 As Integer = 111
      Dim var2 As Single = 2.22F
      Dim var3 As String = "abcd"
      Dim var4 As Object() =  {3, 4.4, "X"c}
      
      Console.WriteLine()
      Console.WriteLine("StringBuilder.AppendFormat method:")
      sb.AppendFormat("1) {0}", var1)
      Show(sb)
      sb.AppendFormat("2) {0}, {1}", var1, var2)
      Show(sb)
      sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3)
      Show(sb)
      sb.AppendFormat("4) {0}, {1}, {2}", var4)
      Show(sb)
      Dim ci As New CultureInfo("es-ES", True)
      sb.AppendFormat(ci, "5) {0}", var2)
      Show(sb)
   End Sub
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub
End Class
'
'This example produces the following results:
'
'StringBuilder.AppendFormat method:
'1) 111
'2) 111, 2.22
'3) 111, 2.22, abcd
'4) 3, 4.4, X
'5) 2,22

Im folgenden Beispiel wird eine benutzerdefinierte IFormatProvider Implementierung namens CustomerFormatter definiert, die eine 10-stellige Kundennummer mit Bindestrichen nach der vierten und siebten Ziffer formatiert. Sie wird an die StringBuilder.AppendFormat(IFormatProvider, String, Object[]) -Methode übergeben, um eine Zeichenfolge zu erstellen, die die formatierte Kundennummer und den Kundennamen enthält.

using System;
using System.Text;

public class Customer
{
   private string custName;
   private int custNumber;
   
   public Customer(string name, int number)
   {
      this.custName = name;
      this.custNumber = number;
   }
   
   public string Name
   {
      get { return this.custName; }
   }
   
   public int CustomerNumber
   {
      get { return this.custNumber; }
   }
}

public class CustomerNumberFormatter : IFormatProvider, ICustomFormatter
{   
   public object GetFormat(Type formatType)
   {
      if (formatType == typeof(ICustomFormatter))
         return this;
      return null;
   }
   
   public string Format(string format, object arg, IFormatProvider provider)
   {
      if (arg is Int32)
      {
         string custNumber = ((int) arg).ToString("D10");
         return custNumber.Substring(0, 4) + "-" + custNumber.Substring(4, 3) + 
                "-" + custNumber.Substring(7, 3);
      }
      else
      {
         return null;
      }
   }                   
}

public class Example
{
   public static void Main()
   {
      Customer customer = new Customer("A Plus Software", 903654);
      StringBuilder sb = new StringBuilder();
      sb.AppendFormat(new CustomerNumberFormatter(), "{0}: {1}", 
                      customer.CustomerNumber, customer.Name);
      Console.WriteLine(sb.ToString());
   }
}
// The example displays the following output:
//      0000-903-654: A Plus Software
open System
open System.Text

type Customer(name: string, number: int) =
    member _.Name = name
    member _.CustomerNumber = number

type CustomerNumberFormatter() =
    interface IFormatProvider with
        member this.GetFormat(formatType) =
            if formatType = typeof<ICustomFormatter> then this else null

    interface ICustomFormatter with
        member _.Format(_, arg, _) =
            match arg with
            | :? int as i ->
                let custNumber = i.ToString "D10"
                $"{custNumber.Substring(0, 4)}-{custNumber.Substring(4, 3)}-{custNumber.Substring(7, 3)}"
            | _ -> null

let customer = Customer("A Plus Software", 903654)
let sb = StringBuilder()

sb.AppendFormat(CustomerNumberFormatter(), "{0}: {1}", customer.CustomerNumber, customer.Name)
|> ignore

printfn $"{sb}"

// The example displays the following output:
//      0000-903-654: A Plus Software
Imports System.Text

Public Class Customer
   Private custName As String
   Private custNumber As Integer
   
   Public Sub New(name As String, number As Integer)
      custName = name
      custNumber = number
   End Sub
   
   Public ReadOnly Property Name As String
      Get
         Return Me.custName
      End Get
   End Property
   
   Public ReadOnly Property CustomerNumber As Integer
      Get
         Return Me.custNumber
      End Get
   End Property
End Class

Public Class CustomerNumberFormatter 
   Implements IFormatProvider, ICustomFormatter
   
   Public Function GetFormat(formatType As Type) As Object _
                   Implements IFormatProvider.GetFormat
      If formatType Is GetType(ICustomFormatter) Then
         Return Me
      End If
      Return Nothing
   End Function
   
   Public Function Format(fmt As String, arg As Object, provider As IFormatProvider) As String _
                   Implements ICustomFormatter.Format
      If typeof arg Is Int32 Then
         Dim custNumber As String = CInt(arg).ToString("D10")
         Return custNumber.Substring(0, 4) + "-" + custNumber.SubString(4, 3) + _
                "-" + custNumber.Substring(7, 3)
      Else
         Return Nothing
      End If
   End Function                   
End Class

Module Example
   Public Sub Main()
      Dim customer As New Customer("A Plus Software", 903654)
      Dim sb As New StringBuilder()
      sb.AppendFormat(New CustomerNumberFormatter, "{0}: {1}", _
                      customer.CustomerNumber, customer.Name)
      Console.WriteLine(sb.ToString())
   End Sub
End Module
' The example displays the following output:
'      0000-903-654: A Plus Software

Hinweise

Diese Methode verwendet die zusammengesetzte Formatierungsfunktion des .NET Framework, um den Wert eines Objekts in seine Textdarstellung zu konvertieren und diese Darstellung in das aktuelle StringBuilder Objekt einzubetten.

Der format Parameter besteht aus 0 oder mehr Textläufen, die mit null oder mehr indizierten Platzhaltern, sogenannten Formatelementen, gemischt sind, die Objekten in der Parameterliste dieser Methode entsprechen. Der Formatierungsprozess ersetzt jedes Formatelement durch die Zeichenfolgendarstellung des entsprechenden Objekts.

Die Syntax eines Formatelements lautet wie folgt:

{index[,length][:formatString]}

Elemente in eckigen Klammern sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Index Die nullbasierte Position in der Parameterliste des zu formatierenden Objekts. Wenn das durch index angegebene Objekt ist null, wird das Formatelement durch String.Emptyersetzt. Wenn an der Indexposition kein Parameter vorhanden ist, wird ein FormatException ausgelöst.
, länge Die Mindestanzahl von Zeichen in der Zeichenfolgendarstellung des Parameters. Wenn der Parameter positiv ist, ist er rechtsbündig ausgerichtet. wenn negativ, wird sie linksbündig ausgerichtet.
:formatString Eine standard- oder benutzerdefinierte Formatzeichenfolge, die vom -Parameter unterstützt wird.

Hinweis

Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit Datums- und Uhrzeitwerten verwendet werden, finden Sie unter Standardformatzeichenfolgen für Datum und Uhrzeit und benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit. Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit numerischen Werten verwendet werden, finden Sie unter Standardmäßige numerische Formatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen. Informationen zu den Standardformatzeichenfolgen, die mit Enumerationen verwendet werden, finden Sie unter Enumerationsformatzeichenfolgen.

Der provider Parameter gibt eine IFormatProvider Implementierung an, die Formatierungsinformationen für die -Objekte in argsbereitstellen kann. provider kann eine der folgenden Formen haben:

  • Ein CultureInfo -Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

  • Ein NumberFormatInfo -Objekt, das kulturspezifische Formatierungsinformationen für numerische Werte in argsbereitstellt.

  • Ein DateTimeFormatInfo -Objekt, das kulturspezifische Formatierungsinformationen für Datums- und Uhrzeitwerte in argsbereitstellt.

  • Eine benutzerdefinierte IFormatProvider Implementierung, die Formatierungsinformationen für mindestens ein Objekt in argsbereitstellt. In der Regel implementiert eine solche Implementierung auch die ICustomFormatter -Schnittstelle. Das zweite Beispiel im nächsten Abschnitt veranschaulicht einen StringBuilder.AppendFormat(IFormatProvider, String, Object[]) Methodenaufruf mit einer benutzerdefinierten IFormatProvider Implementierung.

Wenn der provider Parameter ist null, werden Formatanbieterinformationen aus der aktuellen Kultur abgerufen.

args stellt die zu formatierenden Objekte dar. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung des entsprechenden Objekts in argsersetzt. Wenn das Formatelement enthält formatString und das entsprechende Objekt in args die IFormattable -Schnittstelle implementiert, args[index].ToString(formatString, provider) definiert die Formatierung. args[index].ToString() Definiert andernfalls die Formatierung.

Hinweise für Aufrufer

Wenn Sie in .NET Core und in der .NET Framework 4.0 und höher das Objekt instanziieren, indem Sie den StringBuilderStringBuilder(Int32, Int32) Konstruktor aufrufen, kann sowohl die Länge als auch die Kapazität des StringBuilder instance den Wert seiner MaxCapacity Eigenschaft überschreiten. Dies kann insbesondere auftreten, wenn Sie die Append(String) Methoden und AppendFormat(String, Object) aufrufen, um kleine Zeichenfolgen anzufügen.

Weitere Informationen

Gilt für:

AppendFormat(IFormatProvider, String, Object)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines einzigen Arguments mit einem angegebenen Formatanbieter ersetzt.

public:
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0);
public System.Text.StringBuilder AppendFormat (IFormatProvider provider, string format, object arg0);
public System.Text.StringBuilder AppendFormat (IFormatProvider? provider, string format, object? arg0);
member this.AppendFormat : IFormatProvider * string * obj -> System.Text.StringBuilder
Public Function AppendFormat (provider As IFormatProvider, format As String, arg0 As Object) As StringBuilder

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

format
String

Eine kombinierte Formatzeichenfolge.

arg0
Object

Das zu formatierende Objekt.

Gibt zurück

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde. Nach dem Anfügevorgang enthält diese Instanz alle Daten, die auch vor dem Vorgang vorhanden waren. Ihnen folgt eine Kopie von format, wobei die Formatangabe durch die Zeichenfolgendarstellung von arg0 ersetzt wurde.

Ausnahmen

format ist null.

format ist ungültig.

- oder -

Der Index eines Formatelements ist kleiner als 0 (null) oder größer oder gleich 1.

Die Länge der erweiterten Zeichenfolge würde MaxCapacity überschreiten.

Beispiele

Im Folgenden finden Sie zwei Aufrufe der AppendFormat(IFormatProvider, String, Object) -Methode. Beide verwenden die Formatierungskonventionen der Kultur English-United Kingdom (en-GB). Die erste fügt die Zeichenfolgendarstellung einer Decimal Wertwährung in eine Ergebniszeichenfolge ein. Die zweite fügt einen DateTime Wert an zwei Stellen in eine Ergebniszeichenfolge ein, die erste enthält nur die kurze Datumszeichenfolge und die zweite die kurze Zeitzeichenfolge.

using System;
using System.Globalization;
using System.Text;

public class Example
{
   public static void Main()
   {
      StringBuilder sb = new StringBuilder();
      Decimal value = 16.95m;
      CultureInfo enGB = CultureInfo.CreateSpecificCulture("en-GB");
      DateTime dateToday = DateTime.Now;
      sb.AppendFormat(enGB, "Final Price: {0:C2}", value);
      sb.AppendLine();
      sb.AppendFormat(enGB, "Date and Time: {0:d} at {0:t}", dateToday);
      Console.WriteLine(sb.ToString());
   }
}
// The example displays the following output:
//       Final Price: £16.95
//       Date and Time: 01/10/2014 at 10:22
open System
open System.Globalization
open System.Text

let sb = StringBuilder()
let value = 16.95m
let enGB = CultureInfo.CreateSpecificCulture "en-GB"
let dateToday = DateTime.Now
sb.AppendFormat(enGB, "Final Price: {0:C2}", value) |> ignore
sb.AppendLine() |> ignore
sb.AppendFormat(enGB, "Date and Time: {0:d} at {0:t}", dateToday) |> ignore
printfn $"{sb}"

// The example displays the following output:
//       Final Price: £16.95
//       Date and Time: 01/10/2014 at 10:22
Imports System.Globalization
Imports System.Text

Module Example
   Public Sub Main()
      Dim sb As New StringBuilder()
      Dim value As Decimal = 16.95d
      Dim enGB As CultureInfo = CultureInfo.CreateSpecificCulture("en-GB")
      Dim dateToday As DateTime = Date.Now
      sb.AppendFormat(enGB, "Final Price: {0:C2}", value)
      sb.AppendLine()
      sb.AppendFormat(enGB, "Date and Time: {0:d} at {0:t}", dateToday)
      Console.WriteLine(sb.ToString())
   End Sub
End Module
' The example displays output like the following:
'       Final Price: £16.95
'       Date and Time: 01/10/2014 at 10:22

Hinweise

Diese Methode verwendet die zusammengesetzte Formatierungsfunktion der .NET Framework, um den Wert von arg0 in die Textdarstellung zu konvertieren und diese Darstellung in das aktuelle StringBuilder Objekt einzubetten.

Der format Parameter besteht aus null oder mehr Textläufen, die mit null oder mehr indizierten Platzhaltern gemischt sind, die als Formatelemente bezeichnet werden. Der Index jedes Formatelements muss null (0) sein, da diese Methode eine Argumentliste mit einem einzelnen Argument enthält. Der Formatierungsprozess ersetzt jedes Formatelement durch die Zeichenfolgendarstellung von arg0.

Die Syntax eines Formatelements lautet wie folgt:

{index[,length][:formatString]}

Elemente in eckigen Klammern sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Index Die nullbasierte Position in der Parameterliste des zu formatierenden Objekts. Wenn das durch index angegebene Objekt ist null, wird das Formatelement durch String.Emptyersetzt. Da die Methode in diesem AppendFormat(IFormatProvider, String, Object) Fall ein einzelnes Argument in der Argumentliste enthält, muss der Wert von index immer 0 sein. Wenn dies nicht der Fehler ist, wird ein FormatException ausgelöst.
, länge Die Mindestanzahl von Zeichen in der Zeichenfolgendarstellung des Parameters. Wenn der Parameter positiv ist, ist er rechtsbündig ausgerichtet. wenn negativ, wird sie linksbündig ausgerichtet.
:formatString Eine standard- oder benutzerdefinierte Formatzeichenfolge, die vom -Parameter unterstützt wird.

Hinweis

Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit Datums- und Uhrzeitwerten verwendet werden, finden Sie unter Standardformatzeichenfolgen für Datum und Uhrzeit und benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit. Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit numerischen Werten verwendet werden, finden Sie unter Standardmäßige numerische Formatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen. Informationen zu den Standardformatzeichenfolgen, die mit Enumerationen verwendet werden, finden Sie unter Enumerationsformatzeichenfolgen.

Der provider Parameter gibt eine IFormatProvider Implementierung an, die Formatierungsinformationen für die -Objekte in argsbereitstellen kann. provider kann eine der folgenden Formen haben:

  • Ein CultureInfo -Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

  • Ein NumberFormatInfo -Objekt, das kulturspezifische Formatierungsinformationen für arg0 bereitstellt, wenn es sich um einen numerischen Wert handelt.

  • Ein DateTimeFormatInfo -Objekt, das kulturspezifische Formatierungsinformationen für arg0 bereitstellt, wenn es sich um einen Datums- und Uhrzeitwert handelt.

  • Eine benutzerdefinierte IFormatProvider Implementierung, die Formatierungsinformationen für arg0bereitstellt. In der Regel implementiert eine solche Implementierung auch die ICustomFormatter -Schnittstelle.

Wenn der provider Parameter ist null, werden Formatierungsinformationen aus der aktuellen Kultur abgerufen.

arg0 stellt das zu formatierende Objekt dar. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung von arg0ersetzt. Wenn das Formatelement die IFormattable Schnittstelle enthält formatString und arg0 implementiert, definiert die arg0.ToString(formatString, provider) Formatierung. arg0.ToString() Definiert andernfalls die Formatierung.

Hinweise für Aufrufer

Wenn Sie in .NET Core und in der .NET Framework 4.0 und höher das Objekt instanziieren, indem Sie den StringBuilderStringBuilder(Int32, Int32) Konstruktor aufrufen, kann sowohl die Länge als auch die Kapazität des StringBuilder instance den Wert seiner MaxCapacity Eigenschaft überschreiten. Dies kann insbesondere auftreten, wenn Sie die Append(String) Methoden und AppendFormat(String, Object) aufrufen, um kleine Zeichenfolgen anzufügen.

Weitere Informationen

Gilt für:

AppendFormat(String, Object[])

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines entsprechenden Arguments in einem Parameterarray ersetzt.

public:
 System::Text::StringBuilder ^ AppendFormat(System::String ^ format, ... cli::array <System::Object ^> ^ args);
public System.Text.StringBuilder AppendFormat (string format, params object[] args);
public System.Text.StringBuilder AppendFormat (string format, params object?[] args);
member this.AppendFormat : string * obj[] -> System.Text.StringBuilder
Public Function AppendFormat (format As String, ParamArray args As Object()) As StringBuilder

Parameter

format
String

Eine kombinierte Formatzeichenfolge.

args
Object[]

Ein Array zu formatierender Objekte.

Gibt zurück

Ein Verweis auf diese Instanz mit angefügtem format. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung des entsprechenden Objektarguments ersetzt.

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.

Die Länge der erweiterten Zeichenfolge würde MaxCapacity überschreiten.

Beispiele

Das folgende Beispiel veranschaulicht die AppendFormat Methode.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;
void Show( StringBuilder^ sbs )
{
   Console::WriteLine( sbs );
   sbs->Length = 0;
}

int main()
{
   StringBuilder^ sb = gcnew StringBuilder;
   int var1 = 111;
   float var2 = 2.22F;
   String^ var3 = "abcd";
   array<Object^>^var4 = {3,4.4,(Char)'X'};
   Console::WriteLine();
   Console::WriteLine( "StringBuilder.AppendFormat method:" );
   sb->AppendFormat( "1) {0}", var1 );
   Show( sb );
   sb->AppendFormat( "2) {0}, {1}", var1, var2 );
   Show( sb );
   sb->AppendFormat( "3) {0}, {1}, {2}", var1, var2, var3 );
   Show( sb );
   sb->AppendFormat( "4) {0}, {1}, {2}", var4 );
   Show( sb );
   CultureInfo^ ci = gcnew CultureInfo( "es-ES",true );
   array<Object^>^temp1 = {var2};
   sb->AppendFormat( ci, "5) {0}", temp1 );
   Show( sb );
}

/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
using System;
using System.Text;
using System.Globalization;

class Sample
{
    static StringBuilder sb = new StringBuilder();

    public static void Main()
    {
    int    var1   = 111;
    float  var2   = 2.22F;
    string var3   = "abcd";
    object[] var4 = {3, 4.4, 'X'};

    Console.WriteLine();
    Console.WriteLine("StringBuilder.AppendFormat method:");
    sb.AppendFormat("1) {0}", var1);
    Show(sb);
    sb.AppendFormat("2) {0}, {1}", var1, var2);
    Show(sb);
    sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
    Show(sb);
    sb.AppendFormat("4) {0}, {1}, {2}", var4);
    Show(sb);
    CultureInfo ci = new CultureInfo("es-ES", true);
    sb.AppendFormat(ci, "5) {0}", var2);
    Show(sb);
    }

    public static void Show(StringBuilder sbs)
    {
    Console.WriteLine(sbs.ToString());
    sb.Length = 0;
    }
}
/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
open System.Text
open System.Globalization

let sb = StringBuilder()

let show (sbs: StringBuilder) =
    printfn $"{sbs}"
    sb.Length <- 0

let var1 = 111
let var2 = 2.22f
let var3 = "abcd"
let var4: obj[] = [| 3; 4.4; 'X' |]

printfn "StringBuilder.AppendFormat method:"
sb.AppendFormat("1) {0}", var1) |> ignore
show sb
sb.AppendFormat("2) {0}, {1}", var1, var2) |> ignore
show sb
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3) |> ignore
show sb
sb.AppendFormat("4) {0}, {1}, {2}", var4) |> ignore
show sb
let ci = CultureInfo("es-ES", true)
sb.AppendFormat(ci, "5) {0}", var2) |> ignore
show sb

// This example produces the following results:
//       StringBuilder.AppendFormat method:
//       1) 111
//       2) 111, 2.22
//       3) 111, 2.22, abcd
//       4) 3, 4.4, X
//       5) 2,22
Imports System.Text
Imports System.Globalization

Class Sample
   Private Shared sb As New StringBuilder()

   Public Shared Sub Main()
      Dim var1 As Integer = 111
      Dim var2 As Single = 2.22F
      Dim var3 As String = "abcd"
      Dim var4 As Object() =  {3, 4.4, "X"c}
      
      Console.WriteLine()
      Console.WriteLine("StringBuilder.AppendFormat method:")
      sb.AppendFormat("1) {0}", var1)
      Show(sb)
      sb.AppendFormat("2) {0}, {1}", var1, var2)
      Show(sb)
      sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3)
      Show(sb)
      sb.AppendFormat("4) {0}, {1}, {2}", var4)
      Show(sb)
      Dim ci As New CultureInfo("es-ES", True)
      sb.AppendFormat(ci, "5) {0}", var2)
      Show(sb)
   End Sub
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub
End Class
'
'This example produces the following results:
'
'StringBuilder.AppendFormat method:
'1) 111
'2) 111, 2.22
'3) 111, 2.22, abcd
'4) 3, 4.4, X
'5) 2,22

Hinweise

Diese Methode verwendet die zusammengesetzte Formatierungsfunktion des .NET Framework, um den Wert eines Objekts in seine Textdarstellung zu konvertieren und diese Darstellung in das aktuelle StringBuilder Objekt einzubetten.

Der format Parameter besteht aus 0 oder mehr Textläufen, die mit null oder mehr indizierten Platzhaltern, sogenannten Formatelementen, gemischt sind, die Objekten in der Parameterliste dieser Methode entsprechen. Der Formatierungsprozess ersetzt jedes Formatelement durch die Zeichenfolgendarstellung des entsprechenden Objekts.

Die Syntax eines Formatelements lautet wie folgt:

{index[,length][:formatString]}

Elemente in eckigen Klammern sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Index Die nullbasierte Position in der Parameterliste des zu formatierenden Objekts. Wenn das durch index angegebene Objekt ist null, wird das Formatelement durch String.Emptyersetzt. Wenn an der Indexposition kein Parameter vorhanden ist, wird ein FormatException ausgelöst.
, länge Die Mindestanzahl von Zeichen in der Zeichenfolgendarstellung des Parameters. Wenn der Parameter positiv ist, ist er rechtsbündig ausgerichtet. wenn negativ, wird sie linksbündig ausgerichtet.
:formatString Eine standard- oder benutzerdefinierte Formatzeichenfolge, die vom -Parameter unterstützt wird.

Hinweis

Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit Datums- und Uhrzeitwerten verwendet werden, finden Sie unter Standardformatzeichenfolgen für Datum und Uhrzeit und benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit. Informationen zu den standard- und benutzerdefinierten Formatzeichenfolgen, die mit numerischen Werten verwendet werden, finden Sie unter Standardmäßige numerische Formatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen. Informationen zu den Standardformatzeichenfolgen, die mit Enumerationen verwendet werden, finden Sie unter Enumerationsformatzeichenfolgen.

args stellt die zu formatierenden Objekte dar. Jedes Formatelement in format wird durch die Zeichenfolgendarstellung des entsprechenden Objekts in argsersetzt. Wenn das Formatelement enthält formatString und das entsprechende Objekt in args die IFormattable -Schnittstelle implementiert, args[index].ToString(formatString, provider) definiert die Formatierung. args[index].ToString() Definiert andernfalls die Formatierung.

Wenn die zugewiesene format Zeichenfolge "Vielen Dank für Ihre Spende von {0:#####}-Dosen lebensmittel an unsere wohltätige organization." lautet und arg0 eine ganze Zahl mit dem Wert 10 ist, lautet der Rückgabewert "Vielen Dank für Ihre Spende von 10 Dosen Lebensmittel an unsere gemeinnützige organization.".

Hinweise für Aufrufer

Wenn Sie in .NET Core und in der .NET Framework 4.0 und höher das Objekt instanziieren, indem Sie den StringBuilderStringBuilder(Int32, Int32) Konstruktor aufrufen, kann sowohl die Länge als auch die Kapazität des StringBuilder instance den Wert seiner MaxCapacity Eigenschaft überschreiten. Dies kann insbesondere auftreten, wenn Sie die Append(String) Methoden und AppendFormat(String, Object) aufrufen, um kleine Zeichenfolgen anzufügen.

Weitere Informationen

Gilt für:

AppendFormat(IFormatProvider, CompositeFormat, Object[])

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente mit einem angegebenen Formatanbieter ersetzt.

public:
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, ... cli::array <System::Object ^> ^ args);
public System.Text.StringBuilder AppendFormat (IFormatProvider? provider, System.Text.CompositeFormat format, params object?[] args);
member this.AppendFormat : IFormatProvider * System.Text.CompositeFormat * obj[] -> System.Text.StringBuilder
Public Function AppendFormat (provider As IFormatProvider, format As CompositeFormat, ParamArray args As Object()) As StringBuilder

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

args
Object[]

Ein Array zu formatierender Objekte.

Gibt zurück

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde.

Ausnahmen

format oder args ist null.

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

Gilt für:

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

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente mit einem angegebenen Formatanbieter ersetzt.

public:
generic <typename TArg0, typename TArg1, typename TArg2>
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0, TArg1 arg1, TArg2 arg2);
public System.Text.StringBuilder AppendFormat<TArg0,TArg1,TArg2> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1, TArg2 arg2);
member this.AppendFormat : IFormatProvider * System.Text.CompositeFormat * 'TArg0 * 'TArg1 * 'TArg2 -> System.Text.StringBuilder
Public Function AppendFormat(Of TArg0, TArg1, TArg2) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0, arg1 As TArg1, arg2 As TArg2) As StringBuilder

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

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde.

Ausnahmen

format ist null

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

Gilt für:

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

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente mit einem angegebenen Formatanbieter ersetzt.

public:
generic <typename TArg0, typename TArg1>
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0, TArg1 arg1);
public System.Text.StringBuilder AppendFormat<TArg0,TArg1> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1);
member this.AppendFormat : IFormatProvider * System.Text.CompositeFormat * 'TArg0 * 'TArg1 -> System.Text.StringBuilder
Public Function AppendFormat(Of TArg0, TArg1) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0, arg1 As TArg1) As StringBuilder

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

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde.

Ausnahmen

format ist null

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

Gilt für:

AppendFormat<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Fügt die Zeichenfolge, die durch Verarbeitung einer kombinierten Formatzeichenfolge mit 0 (null) oder mehr Formatelementen zurückgegeben wurde, an diese Instanz an. Jedes Formatelement wird durch die Zeichenfolgendarstellung eines der Argumente mit einem angegebenen Formatanbieter ersetzt.

public:
generic <typename TArg0>
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0);
public System.Text.StringBuilder AppendFormat<TArg0> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0);
member this.AppendFormat : IFormatProvider * System.Text.CompositeFormat * 'TArg0 -> System.Text.StringBuilder
Public Function AppendFormat(Of TArg0) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0) As StringBuilder

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

Ein Verweis auf diese Instanz, nachdem der Anfügevorgang abgeschlossen wurde.

Ausnahmen

format ist null

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

Gilt für: