StringBuilder.AppendFormat Metoda

Definice

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací odpovídajícího argumentu objektu.Each format item is replaced by the string representation of a corresponding object argument.

Přetížení

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

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací jednoho ze tří argumentů pomocí zadaného poskytovatele formátu.Each format item is replaced by the string representation of either of three arguments using a specified format provider.

AppendFormat(String, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací jediného argumentu.Each format item is replaced by the string representation of a single argument.

AppendFormat(String, Object[])

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací odpovídajícího argumentu v poli parametrů.Each format item is replaced by the string representation of a corresponding argument in a parameter array.

AppendFormat(IFormatProvider, String, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací jediného argumentu pomocí zadaného poskytovatele formátu.Each format item is replaced by the string representation of a single argument using a specified format provider.

AppendFormat(IFormatProvider, String, Object[])

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací odpovídajícího argumentu v poli parametrů pomocí zadaného poskytovatele formátu.Each format item is replaced by the string representation of a corresponding argument in a parameter array using a specified format provider.

AppendFormat(String, Object, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací některého ze dvou argumentů.Each format item is replaced by the string representation of either of two arguments.

AppendFormat(IFormatProvider, String, Object, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací některého ze dvou argumentů pomocí zadaného poskytovatele formátu.Each format item is replaced by the string representation of either of two arguments using a specified format provider.

AppendFormat(String, Object, Object, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací jednoho ze tří argumentů.Each format item is replaced by the string representation of either of three arguments.

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

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací jednoho ze tří argumentů pomocí zadaného poskytovatele formátu.Each format item is replaced by the string representation of either of three arguments using a specified format provider.

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

Parametry

provider
IFormatProvider

Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi.An object that supplies culture-specific formatting information.

format
String

Složený řetězec formátu.A composite format string.

arg0
Object

První objekt pro formátování.The first object to format.

arg1
Object

Druhý objekt pro formátování.The second object to format.

arg2
Object

Třetí objekt pro formátování.The third object to format.

Návraty

Odkaz na tuto instanci po dokončení operace APPEND.A reference to this instance after the append operation has completed. Po operaci připojit tato instance obsahuje všechna data, která existovala před operací, s příponou kopie format, kde je libovolná specifikace formátu nahrazena řetězcovou reprezentací odpovídajícího argumentu objektu.After the append operation, this instance contains any data that existed before the operation, suffixed by a copy of format where any format specification is replaced by the string representation of the corresponding object argument.

Výjimky

format je null.format is null.

Formát format je neplatný.format is invalid.

-nebo--or-

Index položky formátu je menší než 0 (nula) nebo větší nebo roven 3 (tři).The index of a format item is less than 0 (zero), or greater than or equal to 3 (three).

Délka rozšířeného řetězce by překročila MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Příklady

Následující příklad používá metodu AppendFormat(IFormatProvider, String, Object, Object, Object) k ilustraci výsledku logické operace And s celočíselnými hodnotami.The following example uses the AppendFormat(IFormatProvider, String, Object, Object, Object) method to illustrate the result of a Boolean And operation with integer values. Všimněte si, že formátovací řetězec obsahuje šest formátovacích položek, ale metoda má v seznamu argumentů pouze tři položky, protože každá položka je formátována dvěma různými způsoby.Note that the format string includes six format items, but the method has only three items in its argument list, because each item is formatted in two different ways.

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

Poznámky

Tato metoda používá funkci složeného formátování .NET Framework k převodu hodnoty objektu na jeho textovou reprezentaci a vložení této reprezentace do aktuálního objektu StringBuilder.This method uses the composite formatting feature of the .NET Framework to convert the value of an object to its text representation and embed that representation in the current StringBuilder object.

Parametr format se skládá z nuly nebo více běhů textu v kombinaci s nula nebo více indexovanými zástupnými symboly, které odpovídají objektům v seznamu parametrů této metody.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to objects in the parameter list of this method. Proces formátování nahradí každou položku formátu řetězcovou reprezentací odpovídajícího objektu.The formatting process replaces each format item with the string representation of the corresponding object.

Syntaxe položky formátu je následující:The syntax of a format item is as follows:

{index[,Length] [:formatString]}{index[,length][:formatString]}

Prvky v hranatých závorkách jsou volitelné.Elements in square brackets are optional. Následující tabulka popisuje jednotlivé prvky.The following table describes each element.

PrvekElement PopisDescription
indexindex Pozice s nulovým základem v seznamu parametrů objektu, který má být formátován.The zero-based position in the parameter list of the object to be formatted. Pokud je objekt určený indexem null, položka formátu je nahrazena String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Pokud na pozici indexu není žádný parametr, je vyvolána FormatException.If there is no parameter in the index position, a FormatException is thrown.
,Délka,length Minimální počet znaků v řetězcové reprezentaci parametru.The minimum number of characters in the string representation of the parameter. Pokud je kladné, je parametr zarovnán vpravo; Pokud je hodnota záporná, zůstane zarovnaná doleva.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Standardní nebo vlastní řetězec formátu, který je podporován parametrem.A standard or custom format string that is supported by the parameter.

Poznámka

Pro standardní a vlastní řetězce formátu používané s hodnotami data a času naleznete v tématu Standardní řetězce formátu data a času a Vlastní řetězce formátu data a času.For the standard and custom format strings used with date and time values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Pro standardní a vlastní řetězce formátu používané s číselnými hodnotami si přečtěte téma Standardní číselné formátovací řetězce a vlastní číselné formátovací řetězce.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Standardní formátovací řetězce používané s výčty najdete v tématu výčtové řetězce formátu.For the standard format strings used with enumerations, see Enumeration Format Strings.

Parametr provider určuje IFormatProvider implementaci, která může poskytnout informace o formátování arg0 a arg1.The provider parameter specifies an IFormatProvider implementation that can provide formatting information for arg0 and arg1. provider může být kterýkoli z následujících:provider can be any of the following:

  • Objekt CultureInfo, který poskytuje informace o formátování specifické pro jazykovou verzi.A CultureInfo object that provides culture-specific formatting information.

  • Objekt NumberFormatInfo, který poskytuje informace o formátování specifické pro jazykovou verzi pro arg0 nebo arg1, pokud se jedná o číselné hodnoty.A NumberFormatInfo object that provides culture-specific formatting information for arg0 or arg1 if they are numeric values.

  • Objekt DateTimeFormatInfo, který poskytuje informace o formátování specifické pro jazykovou verzi pro arg0, arg1nebo arg2, pokud se jedná o hodnoty data a času.A DateTimeFormatInfo object that provides culture-specific formatting information for arg0, arg1, or arg2 if they are date and time values.

  • Vlastní implementace IFormatProvider, která poskytuje informace o formátování arg0, arg1a arg2.A custom IFormatProvider implementation that provides formatting information for arg0, arg1, and arg2. Obvykle tato implementace implementuje také rozhraní ICustomFormatter.Typically, such an implementation also implements the ICustomFormatter interface.

Pokud je parametr provider null, jsou z aktuální jazykové verze získány informace o poskytovateli formátu.If the provider parameter is null, format provider information is obtained from the current culture.

arg0, arg1a arg2 reprezentují objekty, které mají být formátovány.arg0, arg1, and arg2 represent the objects to be formatted. Každá položka formátu v format je nahrazena řetězcovou reprezentací objektu, který má odpovídající index.Each format item in format is replaced with the string representation of the object that has the corresponding index. Pokud položka formátu zahrnuje formatString a odpovídající argument implementuje rozhraní IFormattable, pak metoda ToString(formatString, provider) pro argument definuje formátování.If the format item includes formatString and the corresponding argument implements the IFormattable interface, then the argument's ToString(formatString, provider) method defines the formatting. V opačném případě ToString() metoda argumentu definuje formátování.Otherwise, the argument's ToString() method defines the formatting.

Poznámky pro volající

V rozhraní .NET Core a v .NET Framework 4,0 a novějších verzích při vytváření instance objektu StringBuilder voláním konstruktoru StringBuilder(Int32, Int32) může být délka i kapacita instance StringBuilder větší než hodnota jeho MaxCapacity vlastnosti.In .NET Core and in the .NET Framework 4.0 and later versions, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. K tomu může dojít, zejména když zavoláte Append(String) a AppendFormat(String, Object) metody pro připojení malých řetězců.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Viz také

AppendFormat(String, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací jediného argumentu.Each format item is replaced by the string representation of a single argument.

public:
 System::Text::StringBuilder ^ AppendFormat(System::String ^ format, System::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

Parametry

format
String

Složený řetězec formátu.A composite format string.

arg0
Object

Objekt, který chcete formátovat.An object to format.

Návraty

Odkaz na tuto instanci s připojením format.A reference to this instance with format appended. Každá položka formátu v format je nahrazena řetězcovou reprezentací arg0.Each format item in format is replaced by the string representation of arg0.

Výjimky

format je null.format is null.

Formát format je neplatný.format is invalid.

-nebo--or-

Index položky formátu je menší než 0 (nula) nebo větší nebo roven 1.The index of a format item is less than 0 (zero), or greater than or equal to 1.

Délka rozšířeného řetězce by překročila MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Příklady

Následující příklad ukazuje metodu AppendFormat.The following example demonstrates the AppendFormat method.

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
*/
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

Poznámky

Tato metoda používá funkci složeného formátování .NET Framework k převodu hodnoty objektu na jeho textovou reprezentaci a vložení této reprezentace do aktuálního objektu StringBuilder.This method uses the composite formatting feature of the .NET Framework to convert the value of an object to its text representation and embed that representation in the current StringBuilder object.

Parametr format se skládá z nuly nebo více běhů textu v kombinaci s nulovým nebo více indexovanými zástupnými symboly, které se nazývají položky formátu.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items. Index položek formátu musí být 0, aby odpovídal arg0, jeden objekt v seznamu parametrů této metody.The index of the format items must be 0, to correspond to arg0, the single object in the parameter list of this method. Proces formátování nahradí každou položku formátu řetězcovou reprezentaci arg0.The formatting process replaces each format item with the string representation of arg0.

Syntaxe položky formátu je následující:The syntax of a format item is as follows:

{index[,Length] [:formatString]}{index[,length][:formatString]}

Prvky v hranatých závorkách jsou volitelné.Elements in square brackets are optional. Následující tabulka popisuje jednotlivé prvky.The following table describes each element.

PrvekElement PopisDescription
indexindex Pozice s nulovým základem v seznamu parametrů objektu, který má být formátován.The zero-based position in the parameter list of the object to be formatted. Pokud je objekt určený indexem null, položka formátu je nahrazena String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Pokud na pozici indexu není žádný parametr, je vyvolána FormatException.If there is no parameter in the index position, a FormatException is thrown.
,Délka,length Minimální počet znaků v řetězcové reprezentaci parametru.The minimum number of characters in the string representation of the parameter. Pokud je kladné, je parametr zarovnán vpravo; Pokud je hodnota záporná, zůstane zarovnaná doleva.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Standardní nebo vlastní řetězec formátu, který je podporován parametrem.A standard or custom format string that is supported by the parameter.

Poznámka

Pro standardní a vlastní řetězce formátu používané s hodnotami data a času naleznete v tématu Standardní řetězce formátu data a času a Vlastní řetězce formátu data a času.For the standard and custom format strings used with date and time values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Pro standardní a vlastní řetězce formátu používané s číselnými hodnotami si přečtěte téma Standardní číselné formátovací řetězce a vlastní číselné formátovací řetězce.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Standardní formátovací řetězce používané s výčty najdete v tématu výčtové řetězce formátu.For the standard format strings used with enumerations, see Enumeration Format Strings.

arg0 představuje objekt, který má být formátován.arg0 represents the object to be formatted. Každá položka formátu v format je nahrazena řetězcovou reprezentací arg0.Each format item in format is replaced with the string representation of arg0. Pokud položka formátu zahrnuje formatString a arg0 implementuje rozhraní IFormattable, arg0.ToString(formatString, null) definuje formátování.If the format item includes formatString and arg0 implements the IFormattable interface, then arg0.ToString(formatString, null) defines the formatting. V opačném případě arg0.ToString() definuje formátování.Otherwise, arg0.ToString() defines the formatting.

Pokud je řetězec přiřazený k format "Děkujeme za váš darování {0: # # # #} plechovky krmiva do naší dobročinné organizace."If the string assigned to format is "Thank you for your donation of {0:####} cans of food to our charitable organization." a arg0 je celé číslo s hodnotou 10, návratová hodnota bude "Děkujeme za váš darování 10 plechovek v naší dobročinné organizaci."and arg0 is an integer with the value 10, the return value will be "Thank you for your donation of 10 cans of food to our charitable organization."

Poznámky pro volající

V rozhraní .NET Core a v .NET Framework 4,0 a novějších verzích při vytváření instance objektu StringBuilder voláním konstruktoru StringBuilder(Int32, Int32) může být délka i kapacita instance StringBuilder větší než hodnota jeho MaxCapacity vlastnosti.In .NET Core and in the .NET Framework 4.0 and later versions, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. K tomu může dojít, zejména když zavoláte Append(String) a AppendFormat(String, Object) metody pro připojení malých řetězců.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Viz také

AppendFormat(String, Object[])

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací odpovídajícího argumentu v poli parametrů.Each format item is replaced by the string representation of a corresponding argument in a parameter array.

public:
 System::Text::StringBuilder ^ AppendFormat(System::String ^ format, ... cli::array <System::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

Parametry

format
String

Složený řetězec formátu.A composite format string.

args
Object[]

Pole objektů, které se mají formátovatAn array of objects to format.

Návraty

Odkaz na tuto instanci s připojením format.A reference to this instance with format appended. Každá položka formátu v format je nahrazena řetězcovou reprezentací odpovídajícího argumentu objektu.Each format item in format is replaced by the string representation of the corresponding object argument.

Výjimky

format nebo args má hodnotu null.format or args is null.

Formát format je neplatný.format is invalid.

-nebo--or-

Index položky formátu je menší než 0 (nula) nebo větší nebo roven délce pole args.The index of a format item is less than 0 (zero), or greater than or equal to the length of the args array.

Délka rozšířeného řetězce by překročila MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Příklady

Následující příklad ukazuje metodu AppendFormat.The following example demonstrates the AppendFormat method.

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
*/
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

Poznámky

Tato metoda používá funkci složeného formátování .NET Framework k převodu hodnoty objektu na jeho textovou reprezentaci a vložení této reprezentace do aktuálního objektu StringBuilder.This method uses the composite formatting feature of the .NET Framework to convert the value of an object to its text representation and embed that representation in the current StringBuilder object.

Parametr format se skládá z nuly nebo více běhů textu v kombinaci s nula nebo více indexovanými zástupnými symboly, které odpovídají objektům v seznamu parametrů této metody.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to objects in the parameter list of this method. Proces formátování nahradí každou položku formátu řetězcovou reprezentací odpovídajícího objektu.The formatting process replaces each format item with the string representation of the corresponding object.

Syntaxe položky formátu je následující:The syntax of a format item is as follows:

{index[,Length] [:formatString]}{index[,length][:formatString]}

Prvky v hranatých závorkách jsou volitelné.Elements in square brackets are optional. Následující tabulka popisuje jednotlivé prvky.The following table describes each element.

PrvekElement PopisDescription
indexindex Pozice s nulovým základem v seznamu parametrů objektu, který má být formátován.The zero-based position in the parameter list of the object to be formatted. Pokud je objekt určený indexem null, položka formátu je nahrazena String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Pokud na pozici indexu není žádný parametr, je vyvolána FormatException.If there is no parameter in the index position, a FormatException is thrown.
,Délka,length Minimální počet znaků v řetězcové reprezentaci parametru.The minimum number of characters in the string representation of the parameter. Pokud je kladné, je parametr zarovnán vpravo; Pokud je hodnota záporná, zůstane zarovnaná doleva.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Standardní nebo vlastní řetězec formátu, který je podporován parametrem.A standard or custom format string that is supported by the parameter.

Poznámka

Pro standardní a vlastní řetězce formátu používané s hodnotami data a času naleznete v tématu Standardní řetězce formátu data a času a Vlastní řetězce formátu data a času.For the standard and custom format strings used with date and time values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Pro standardní a vlastní řetězce formátu používané s číselnými hodnotami si přečtěte téma Standardní číselné formátovací řetězce a vlastní číselné formátovací řetězce.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Standardní formátovací řetězce používané s výčty najdete v tématu výčtové řetězce formátu.For the standard format strings used with enumerations, see Enumeration Format Strings.

args představuje objekty, které mají být formátovány.args represents the objects to be formatted. Každá položka formátu v format je nahrazena řetězcovou reprezentací odpovídajícího objektu v args.Each format item in format is replaced with the string representation of the corresponding object in args. Pokud položka formátu zahrnuje formatString a odpovídající objekt v args implementuje rozhraní IFormattable, args[index].ToString(formatString, provider) definuje formátování.If the format item includes formatString and the corresponding object in args implements the IFormattable interface, then args[index].ToString(formatString, provider) defines the formatting. V opačném případě args[index].ToString() definuje formátování.Otherwise, args[index].ToString() defines the formatting.

Pokud je řetězec přiřazený k format "Děkujeme za váš darování {0: # # # #} plechovky krmiva do naší dobročinné organizace."If the string assigned to format is "Thank you for your donation of {0:####} cans of food to our charitable organization." a arg0 je celé číslo s hodnotou 10, návratová hodnota bude "Děkujeme za váš darování 10 plechovek v naší dobročinné organizaci."and arg0 is an integer with the value 10, the return value will be "Thank you for your donation of 10 cans of food to our charitable organization."

Poznámky pro volající

V rozhraní .NET Core a v .NET Framework 4,0 a novějších verzích při vytváření instance objektu StringBuilder voláním konstruktoru StringBuilder(Int32, Int32) může být délka i kapacita instance StringBuilder větší než hodnota jeho MaxCapacity vlastnosti.In .NET Core and in the .NET Framework 4.0 and later versions, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. K tomu může dojít, zejména když zavoláte Append(String) a AppendFormat(String, Object) metody pro připojení malých řetězců.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Viz také

AppendFormat(IFormatProvider, String, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací jediného argumentu pomocí zadaného poskytovatele formátu.Each format item is replaced by the string representation of a single argument using a specified format provider.

public:
 System::Text::StringBuilder ^ AppendFormat(IFormatProvider ^ provider, System::String ^ format, System::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

Parametry

provider
IFormatProvider

Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi.An object that supplies culture-specific formatting information.

format
String

Složený řetězec formátu.A composite format string.

arg0
Object

Objekt, který má být zformátován.The object to format.

Návraty

Odkaz na tuto instanci po dokončení operace APPEND.A reference to this instance after the append operation has completed. Po operaci připojit tato instance obsahuje všechna data, která existovala před operací, s příponou kopie format, ve které je jakákoli specifikace formátu nahrazena řetězcovou reprezentací arg0.After the append operation, this instance contains any data that existed before the operation, suffixed by a copy of format in which any format specification is replaced by the string representation of arg0.

Výjimky

format je null.format is null.

Formát format je neplatný.format is invalid.

-nebo--or-

Index položky formátu je menší než 0 (nula) nebo větší nebo roven jedné (1).The index of a format item is less than 0 (zero), or greater than or equal to one (1).

Délka rozšířeného řetězce by překročila MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Příklady

Následující obsahuje dvě volání metody AppendFormat(IFormatProvider, String, Object).The following includes two calls to the AppendFormat(IFormatProvider, String, Object) method. Oba používají konvence formátování jazykové verze English-Great Británie (en-GB).Both use the formatting conventions of the English-Great Britain (en-GB) culture. První vloží řetězcovou reprezentaci Decimal hodnoty měny ve výsledném řetězci.The first inserts the string representation of a Decimal value currency in a result string. Druhý vloží DateTime hodnotu ve dvou místech ve výsledném řetězci, první, včetně pouze krátkého řetězce data a druhého krátkého času řetězce.The second inserts a DateTime value in two places in a result string, the first including only the short date string and the second the short time string.

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

Poznámky

Tato metoda používá funkci složeného formátování .NET Framework k převodu hodnoty arg0 na její textovou reprezentaci a vložení této reprezentace do aktuálního objektu StringBuilder.This method uses the composite formatting feature of the .NET Framework to convert the value of arg0 to its text representation and embed that representation in the current StringBuilder object.

Parametr format se skládá z nuly nebo více běhů textu v kombinaci s nulovým nebo více indexovanými zástupnými symboly, které se nazývají položky formátu.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items. Index každé položky formátu musí být nula (0), protože tato metoda zahrnuje seznam argumentů s jedním argumentem.The index of each format item must be zero (0) since this method includes an argument list with a single argument. Proces formátování nahradí každou položku formátu řetězcovou reprezentaci arg0.The formatting process replaces each format item with the string representation of arg0.

Syntaxe položky formátu je následující:The syntax of a format item is as follows:

{index[,Length] [:formatString]}{index[,length][:formatString]}

Prvky v hranatých závorkách jsou volitelné.Elements in square brackets are optional. Následující tabulka popisuje jednotlivé prvky.The following table describes each element.

PrvekElement PopisDescription
indexindex Pozice s nulovým základem v seznamu parametrů objektu, který má být formátován.The zero-based position in the parameter list of the object to be formatted. Pokud je objekt určený indexem null, položka formátu je nahrazena String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. V tomto případě, vzhledem k tomu, že metoda AppendFormat(IFormatProvider, String, Object) má v seznamu argumentů jeden argument, musí mít hodnota index vždycky hodnotu 0.In this case, since the AppendFormat(IFormatProvider, String, Object) method has a single argument in the argument list, the value of index must always be 0. Pokud tomu tak není, je vyvolána FormatException.If it is not, a FormatException is thrown.
,Délka,length Minimální počet znaků v řetězcové reprezentaci parametru.The minimum number of characters in the string representation of the parameter. Pokud je kladné, je parametr zarovnán vpravo; Pokud je hodnota záporná, zůstane zarovnaná doleva.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Standardní nebo vlastní řetězec formátu, který je podporován parametrem.A standard or custom format string that is supported by the parameter.

Poznámka

Pro standardní a vlastní řetězce formátu používané s hodnotami data a času naleznete v tématu Standardní řetězce formátu data a času a Vlastní řetězce formátu data a času.For the standard and custom format strings used with date and time values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Pro standardní a vlastní řetězce formátu používané s číselnými hodnotami si přečtěte téma Standardní číselné formátovací řetězce a vlastní číselné formátovací řetězce.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Standardní formátovací řetězce používané s výčty najdete v tématu výčtové řetězce formátu.For the standard format strings used with enumerations, see Enumeration Format Strings.

Parametr provider určuje IFormatProvider implementaci, která může poskytnout informace o formátování pro objekty v args.The provider parameter specifies an IFormatProvider implementation that can provide formatting information for the objects in args. provider může být kterýkoli z následujících:provider can be any of the following:

  • Objekt CultureInfo, který poskytuje informace o formátování specifické pro jazykovou verzi.A CultureInfo object that provides culture-specific formatting information.

  • Objekt NumberFormatInfo, který poskytuje informace o formátování specifické pro jazykovou verzi pro arg0, pokud se jedná o číselnou hodnotu.A NumberFormatInfo object that provides culture-specific formatting information for arg0 if it is a numeric value.

  • Objekt DateTimeFormatInfo, který poskytuje informace o formátování specifické pro jazykovou verzi pro arg0, pokud se jedná o hodnotu data a času.A DateTimeFormatInfo object that provides culture-specific formatting information for arg0 if it is a date and time value.

  • Vlastní implementace IFormatProvider, která poskytuje informace o formátování pro arg0.A custom IFormatProvider implementation that provides formatting information for arg0. Obvykle tato implementace implementuje také rozhraní ICustomFormatter.Typically, such an implementation also implements the ICustomFormatter interface.

Pokud je parametr provider null, informace o formátování jsou získány z aktuální jazykové verze.If the provider parameter is null, formatting information is obtained from the current culture.

arg0 představuje objekt, který má být formátován.arg0 represents the object to be formatted. Každá položka formátu v format je nahrazena řetězcovou reprezentací arg0.Each format item in format is replaced with the string representation of arg0. Pokud položka formátu zahrnuje formatString a arg0 implementuje rozhraní IFormattable, arg0.ToString(formatString, provider) definuje formátování.If the format item includes formatString and arg0 implements the IFormattable interface, then arg0.ToString(formatString, provider) defines the formatting. V opačném případě arg0.ToString() definuje formátování.Otherwise, arg0.ToString() defines the formatting.

Poznámky pro volající

V rozhraní .NET Core a v .NET Framework 4,0 a novějších verzích při vytváření instance objektu StringBuilder voláním konstruktoru StringBuilder(Int32, Int32) může být délka i kapacita instance StringBuilder větší než hodnota jeho MaxCapacity vlastnosti.In .NET Core and in the .NET Framework 4.0 and later versions, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. K tomu může dojít, zejména když zavoláte Append(String) a AppendFormat(String, Object) metody pro připojení malých řetězců.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Viz také

AppendFormat(IFormatProvider, String, Object[])

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací odpovídajícího argumentu v poli parametrů pomocí zadaného poskytovatele formátu.Each format item is replaced by the string representation of a corresponding argument in a parameter array using a specified format provider.

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);
member this.AppendFormat : IFormatProvider * string * obj[] -> System.Text.StringBuilder
Public Function AppendFormat (provider As IFormatProvider, format As String, ParamArray args As Object()) As StringBuilder

Parametry

provider
IFormatProvider

Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi.An object that supplies culture-specific formatting information.

format
String

Složený řetězec formátu.A composite format string.

args
Object[]

Pole objektů, které se mají formátovatAn array of objects to format.

Návraty

Odkaz na tuto instanci po dokončení operace APPEND.A reference to this instance after the append operation has completed. Po operaci připojit tato instance obsahuje všechna data, která existovala před operací, s příponou kopie format, kde je libovolná specifikace formátu nahrazena řetězcovou reprezentací odpovídajícího argumentu objektu.After the append operation, this instance contains any data that existed before the operation, suffixed by a copy of format where any format specification is replaced by the string representation of the corresponding object argument.

Výjimky

format je null.format is null.

Formát format je neplatný.format is invalid.

-nebo--or-

Index položky formátu je menší než 0 (nula) nebo větší nebo roven délce pole args.The index of a format item is less than 0 (zero), or greater than or equal to the length of the args array.

Délka rozšířeného řetězce by překročila MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Příklady

Následující příklad ukazuje metodu AppendFormat.The following example demonstrates the AppendFormat method.

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
*/
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

Následující příklad definuje vlastní implementaci IFormatProvider s názvem CustomerFormatter, která formátuje číslo zákazníka na 10 číslic s pomlčkami za čtvrtou a sedmovou číslicí.The following example defines a custom IFormatProvider implementation named CustomerFormatter that formats a 10-digit customer number with hyphens after the fourth and seventh digits. Je předána metodě StringBuilder.AppendFormat(IFormatProvider, String, Object[]) k vytvoření řetězce, který obsahuje formátované číslo zákazníka a jméno zákazníka.It is passed to the StringBuilder.AppendFormat(IFormatProvider, String, Object[]) method to create a string that includes the formatted customer number and customer name.

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

Poznámky

Tato metoda používá funkci složeného formátování .NET Framework k převodu hodnoty objektu na jeho textovou reprezentaci a vložení této reprezentace do aktuálního objektu StringBuilder.This method uses the composite formatting feature of the .NET Framework to convert the value of an object to its text representation and embed that representation in the current StringBuilder object.

Parametr format se skládá z nuly nebo více běhů textu v kombinaci s nula nebo více indexovanými zástupnými symboly, které odpovídají objektům v seznamu parametrů této metody.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to objects in the parameter list of this method. Proces formátování nahradí každou položku formátu řetězcovou reprezentací odpovídajícího objektu.The formatting process replaces each format item with the string representation of the corresponding object.

Syntaxe položky formátu je následující:The syntax of a format item is as follows:

{index[,Length] [:formatString]}{index[,length][:formatString]}

Prvky v hranatých závorkách jsou volitelné.Elements in square brackets are optional. Následující tabulka popisuje jednotlivé prvky.The following table describes each element.

PrvekElement PopisDescription
indexindex Pozice s nulovým základem v seznamu parametrů objektu, který má být formátován.The zero-based position in the parameter list of the object to be formatted. Pokud je objekt určený indexem null, položka formátu je nahrazena String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Pokud na pozici indexu není žádný parametr, je vyvolána FormatException.If there is no parameter in the index position, a FormatException is thrown.
,Délka,length Minimální počet znaků v řetězcové reprezentaci parametru.The minimum number of characters in the string representation of the parameter. Pokud je kladné, je parametr zarovnán vpravo; Pokud je hodnota záporná, zůstane zarovnaná doleva.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Standardní nebo vlastní řetězec formátu, který je podporován parametrem.A standard or custom format string that is supported by the parameter.

Poznámka

Pro standardní a vlastní řetězce formátu používané s hodnotami data a času naleznete v tématu Standardní řetězce formátu data a času a Vlastní řetězce formátu data a času.For the standard and custom format strings used with date and time values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Pro standardní a vlastní řetězce formátu používané s číselnými hodnotami si přečtěte téma Standardní číselné formátovací řetězce a vlastní číselné formátovací řetězce.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Standardní formátovací řetězce používané s výčty najdete v tématu výčtové řetězce formátu.For the standard format strings used with enumerations, see Enumeration Format Strings.

Parametr provider určuje IFormatProvider implementaci, která může poskytnout informace o formátování pro objekty v args.The provider parameter specifies an IFormatProvider implementation that can provide formatting information for the objects in args. provider může být kterýkoli z následujících:provider can be any of the following:

Pokud je parametr provider null, jsou z aktuální jazykové verze získány informace o poskytovateli formátu.If the provider parameter is null, format provider information is obtained from the current culture.

args představuje objekty, které mají být formátovány.args represents the objects to be formatted. Každá položka formátu v format je nahrazena řetězcovou reprezentací odpovídajícího objektu v args.Each format item in format is replaced with the string representation of the corresponding object in args. Pokud položka formátu zahrnuje formatString a odpovídající objekt v args implementuje rozhraní IFormattable, args[index].ToString(formatString, provider) definuje formátování.If the format item includes formatString and the corresponding object in args implements the IFormattable interface, then args[index].ToString(formatString, provider) defines the formatting. V opačném případě args[index].ToString() definuje formátování.Otherwise, args[index].ToString() defines the formatting.

Poznámky pro volající

V rozhraní .NET Core a v .NET Framework 4,0 a novějších verzích při vytváření instance objektu StringBuilder voláním konstruktoru StringBuilder(Int32, Int32) může být délka i kapacita instance StringBuilder větší než hodnota jeho MaxCapacity vlastnosti.In .NET Core and in the .NET Framework 4.0 and later versions, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. K tomu může dojít, zejména když zavoláte Append(String) a AppendFormat(String, Object) metody pro připojení malých řetězců.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Viz také

AppendFormat(String, Object, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací některého ze dvou argumentů.Each format item is replaced by the string representation of either of two arguments.

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);
member this.AppendFormat : string * obj * obj -> System.Text.StringBuilder
Public Function AppendFormat (format As String, arg0 As Object, arg1 As Object) As StringBuilder

Parametry

format
String

Složený řetězec formátu.A composite format string.

arg0
Object

První objekt pro formátování.The first object to format.

arg1
Object

Druhý objekt pro formátování.The second object to format.

Návraty

Odkaz na tuto instanci s připojením format.A reference to this instance with format appended. Každá položka formátu v format je nahrazena řetězcovou reprezentací odpovídajícího argumentu objektu.Each format item in format is replaced by the string representation of the corresponding object argument.

Výjimky

format je null.format is null.

Formát format je neplatný.format is invalid.

-nebo--or-

Index položky formátu je menší než 0 (nula) nebo větší než nebo rovno 2.The index of a format item is less than 0 (zero), or greater than or equal to 2.

Délka rozšířeného řetězce by překročila MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Příklady

Následující příklad ukazuje metodu AppendFormat.The following example demonstrates the AppendFormat method.

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
*/
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

Poznámky

Tato metoda používá funkci složeného formátování .NET Framework k převodu hodnoty objektu na jeho textovou reprezentaci a vložení této reprezentace do aktuálního objektu StringBuilder.This method uses the composite formatting feature of the .NET Framework to convert the value of an object to its text representation and embed that representation in the current StringBuilder object.

Parametr format se skládá z nuly nebo více běhů textu v kombinaci s nulovým nebo více indexovanými zástupnými symboly, které odpovídají arg0 a arg1, dvou objektů v seznamu parametrů této metody.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to arg0 and arg1, the two objects in the parameter list of this method. Proces formátování nahradí každou položku formátu řetězcovou reprezentací odpovídajícího objektu.The formatting process replaces each format item with the string representation of the corresponding object.

Syntaxe položky formátu je následující:The syntax of a format item is as follows:

{index[,Length] [:formatString]}{index[,length][:formatString]}

Prvky v hranatých závorkách jsou volitelné.Elements in square brackets are optional. Následující tabulka popisuje jednotlivé prvky.The following table describes each element.

PrvekElement PopisDescription
indexindex Pozice s nulovým základem v seznamu parametrů objektu, který má být formátován.The zero-based position in the parameter list of the object to be formatted. Pokud je objekt určený indexem null, položka formátu je nahrazena String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Pokud na pozici indexu není žádný parametr, je vyvolána FormatException.If there is no parameter in the index position, a FormatException is thrown.
,Délka,length Minimální počet znaků v řetězcové reprezentaci parametru.The minimum number of characters in the string representation of the parameter. Pokud je kladné, je parametr zarovnán vpravo; Pokud je hodnota záporná, zůstane zarovnaná doleva.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Standardní nebo vlastní řetězec formátu, který je podporován parametrem.A standard or custom format string that is supported by the parameter.

Poznámka

Pro standardní a vlastní řetězce formátu používané s hodnotami data a času naleznete v tématu Standardní řetězce formátu data a času a Vlastní řetězce formátu data a času.For the standard and custom format strings used with date and time values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Pro standardní a vlastní řetězce formátu používané s číselnými hodnotami si přečtěte téma Standardní číselné formátovací řetězce a vlastní číselné formátovací řetězce.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Standardní formátovací řetězce používané s výčty najdete v tématu výčtové řetězce formátu.For the standard format strings used with enumerations, see Enumeration Format Strings.

arg0 a arg1 reprezentují objekty, které mají být formátovány.arg0 and arg1 represent the objects to be formatted. Každá položka formátu v format je nahrazena řetězcovou reprezentací buď arg0 nebo arg1.Each format item in format is replaced with the string representation of either arg0 or arg1. Pokud položka formátu zahrnuje formatString a odpovídající objekt implementuje rozhraní IFormattable, pak argx.ToString(formatString, provider) definuje formátování, kde x je index argumentu.If the format item includes formatString and the corresponding object implements the IFormattable interface, then argx.ToString(formatString, provider) defines the formatting, where x is the index of the argument. V opačném případě argx.ToString() definuje formátování.Otherwise, argx.ToString() defines the formatting.

Pokud je řetězec přiřazený k format "Děkujeme za váš darování {0: # # # #} plechovky krmiva do naší dobročinné organizace."If the string assigned to format is "Thank you for your donation of {0:####} cans of food to our charitable organization." a arg0 je celé číslo s hodnotou 10, návratová hodnota bude "Děkujeme za váš darování 10 plechovek v naší dobročinné organizaci."and arg0 is an integer with the value 10, the return value will be "Thank you for your donation of 10 cans of food to our charitable organization."

Poznámky pro volající

V rozhraní .NET Core a v .NET Framework 4,0 a novějších verzích při vytváření instance objektu StringBuilder voláním konstruktoru StringBuilder(Int32, Int32) může být délka i kapacita instance StringBuilder větší než hodnota jeho MaxCapacity vlastnosti.In .NET Core and in the .NET Framework 4.0 and later versions, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. K tomu může dojít, zejména když zavoláte Append(String) a AppendFormat(String, Object) metody pro připojení malých řetězců.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Viz také

AppendFormat(IFormatProvider, String, Object, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací některého ze dvou argumentů pomocí zadaného poskytovatele formátu.Each format item is replaced by the string representation of either of two arguments using a specified format provider.

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

Parametry

provider
IFormatProvider

Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi.An object that supplies culture-specific formatting information.

format
String

Složený řetězec formátu.A composite format string.

arg0
Object

První objekt pro formátování.The first object to format.

arg1
Object

Druhý objekt pro formátování.The second object to format.

Návraty

Odkaz na tuto instanci po dokončení operace APPEND.A reference to this instance after the append operation has completed. Po operaci připojit tato instance obsahuje všechna data, která existovala před operací, s příponou kopie format, kde je libovolná specifikace formátu nahrazena řetězcovou reprezentací odpovídajícího argumentu objektu.After the append operation, this instance contains any data that existed before the operation, suffixed by a copy of format where any format specification is replaced by the string representation of the corresponding object argument.

Výjimky

format je null.format is null.

Formát format je neplatný.format is invalid.

-nebo--or-

Index položky formátu je menší než 0 (nula) nebo větší nebo roven 2 (dvou).The index of a format item is less than 0 (zero), or greater than or equal to 2 (two).

Délka rozšířeného řetězce by překročila MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Příklady

Následující příklad používá metodu AppendFormat(IFormatProvider, String, Object, Object) pro zobrazení času a dat teploty uložených v obecném objektu Dictionary<TKey,TValue>.The following example uses the AppendFormat(IFormatProvider, String, Object, Object) method to display time and temperature data stored in a generic Dictionary<TKey,TValue> object. Všimněte si, že formátovací řetězec má tři položky formátu, i když jsou pouze objekty, které mají být naformátované.Note that the format string has three format items, although there are only to objects to format. Důvodem je, že první objekt v seznamu (hodnota datum a čas) je použit dvěma položkami formátu: první položka formátu zobrazuje čas a druhá zobrazí datum.This is because the first object in the list (a date and time value) is used by two format items: The first format item displays the time, and the second displays the date.

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

Poznámky

Tato metoda používá funkci složeného formátování .NET Framework k převodu hodnoty objektu na jeho textovou reprezentaci a vložení této reprezentace do aktuálního objektu StringBuilder.This method uses the composite formatting feature of the .NET Framework to convert the value of an object to its text representation and embed that representation in the current StringBuilder object.

Parametr format se skládá z nuly nebo více běhů textu v kombinaci s nula nebo více indexovanými zástupnými symboly, které odpovídají objektům v seznamu parametrů této metody.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to objects in the parameter list of this method. Proces formátování nahradí každou položku formátu řetězcovou reprezentací odpovídajícího objektu.The formatting process replaces each format item with the string representation of the corresponding object.

Syntaxe položky formátu je následující:The syntax of a format item is as follows:

{index[,Length] [:formatString]}{index[,length][:formatString]}

Prvky v hranatých závorkách jsou volitelné.Elements in square brackets are optional. Následující tabulka popisuje jednotlivé prvky.The following table describes each element.

PrvekElement PopisDescription
indexindex Pozice s nulovým základem v seznamu parametrů objektu, který má být formátován.The zero-based position in the parameter list of the object to be formatted. Pokud je objekt určený indexem null, položka formátu je nahrazena String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Pokud na pozici indexu není žádný parametr, je vyvolána FormatException.If there is no parameter in the index position, a FormatException is thrown.
,Délka,length Minimální počet znaků v řetězcové reprezentaci parametru.The minimum number of characters in the string representation of the parameter. Pokud je kladné, je parametr zarovnán vpravo; Pokud je hodnota záporná, zůstane zarovnaná doleva.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Standardní nebo vlastní řetězec formátu, který je podporován parametrem.A standard or custom format string that is supported by the parameter.

Poznámka

Pro standardní a vlastní řetězce formátu používané s hodnotami data a času naleznete v tématu Standardní řetězce formátu data a času a Vlastní řetězce formátu data a času.For the standard and custom format strings used with date and time values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Pro standardní a vlastní řetězce formátu používané s číselnými hodnotami si přečtěte téma Standardní číselné formátovací řetězce a vlastní číselné formátovací řetězce.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Standardní formátovací řetězce používané s výčty najdete v tématu výčtové řetězce formátu.For the standard format strings used with enumerations, see Enumeration Format Strings.

Parametr provider určuje IFormatProvider implementaci, která může poskytnout informace o formátování arg0 a arg1.The provider parameter specifies an IFormatProvider implementation that can provide formatting information for arg0 and arg1. provider může být kterýkoli z následujících:provider can be any of the following:

  • Objekt CultureInfo, který poskytuje informace o formátování specifické pro jazykovou verzi.A CultureInfo object that provides culture-specific formatting information.

  • Objekt NumberFormatInfo, který poskytuje informace o formátování specifické pro jazykovou verzi pro arg0 nebo arg1, pokud se jedná o číselné hodnoty.A NumberFormatInfo object that provides culture-specific formatting information for arg0 or arg1 if they are numeric values.

  • Objekt DateTimeFormatInfo, který poskytuje informace o formátování specifické pro jazykovou verzi pro arg0 nebo arg1, pokud se jedná o hodnoty data a času.A DateTimeFormatInfo object that provides culture-specific formatting information for arg0 or arg1 if they are date and time values.

  • Vlastní implementace IFormatProvider, která poskytuje informace o formátování arg0 a arg1.A custom IFormatProvider implementation that provides formatting information for arg0 and arg1. Obvykle tato implementace implementuje také rozhraní ICustomFormatter.Typically, such an implementation also implements the ICustomFormatter interface.

Pokud je parametr provider null, jsou z aktuální jazykové verze získány informace o poskytovateli formátu.If the provider parameter is null, format provider information is obtained from the current culture.

arg0 a arg1 reprezentují objekty, které mají být formátovány.arg0 and arg1 represent the objects to be formatted. Každá položka formátu v format je nahrazena řetězcovou reprezentací objektu, který má odpovídající index.Each format item in format is replaced with the string representation of the object that has the corresponding index. Pokud položka formátu zahrnuje formatString a odpovídající argument implementuje rozhraní IFormattable, pak metoda ToString(formatString, provider) pro argument definuje formátování.If the format item includes formatString and the corresponding argument implements the IFormattable interface, then the argument's ToString(formatString, provider) method defines the formatting. V opačném případě ToString() metoda argumentu definuje formátování.Otherwise, the argument's ToString() method defines the formatting.

Poznámky pro volající

Profilace .NET Core a v StringBuilder .NET Framework 4,0 a novějších verzích při vytváření instance objektu voláním konstruktoru StringBuilder(Int32, Int32) se může délka a kapacita instance StringBuilder rozšířit nad rámec hodnoty jeho MaxCapacity vlastnosti.IIn .NET Core and in the .NET Framework 4.0 and later versions, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. K tomu může dojít, zejména když zavoláte Append(String) a AppendFormat(String, Object) metody pro připojení malých řetězců.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Viz také

AppendFormat(String, Object, Object, Object)

Připojí řetězec vrácený zpracováním složeného formátovacího řetězce, který v této instanci obsahuje nula nebo více položek formátu.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Každá položka formátu je nahrazena řetězcovou reprezentací jednoho ze tří argumentů.Each format item is replaced by the string representation of either of three arguments.

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

Parametry

format
String

Složený řetězec formátu.A composite format string.

arg0
Object

První objekt pro formátování.The first object to format.

arg1
Object

Druhý objekt pro formátování.The second object to format.

arg2
Object

Třetí objekt pro formátování.The third object to format.

Návraty

Odkaz na tuto instanci s připojením format.A reference to this instance with format appended. Každá položka formátu v format je nahrazena řetězcovou reprezentací odpovídajícího argumentu objektu.Each format item in format is replaced by the string representation of the corresponding object argument.

Výjimky

format je null.format is null.

Formát format je neplatný.format is invalid.

-nebo--or-

Index položky formátu je menší než 0 (nula) nebo větší nebo roven 3.The index of a format item is less than 0 (zero), or greater than or equal to 3.

Délka rozšířeného řetězce by překročila MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Příklady

Následující příklad ukazuje metodu AppendFormat.The following example demonstrates the AppendFormat method.

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
*/
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

Poznámky

Tato metoda používá funkci složeného formátování .NET Framework k převodu hodnoty objektu na jeho textovou reprezentaci a vložení této reprezentace do aktuálního objektu StringBuilder.This method uses the composite formatting feature of the .NET Framework to convert the value of an object to its text representation and embed that representation in the current StringBuilder object.

Parametr format se skládá z nuly nebo více běhů textu v kombinaci s nula nebo více indexovanými zástupnými symboly, které odpovídají arg0 prostřednictvím arg2, objektů v seznamu parametrů této metody.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to arg0 through arg2, the objects in the parameter list of this method. Proces formátování nahradí každou položku formátu řetězcovou reprezentací odpovídajícího objektu.The formatting process replaces each format item with the string representation of the corresponding object.

Syntaxe položky formátu je následující:The syntax of a format item is as follows:

{index[,Length] [:formatString]}{index[,length][:formatString]}

Prvky v hranatých závorkách jsou volitelné.Elements in square brackets are optional. Následující tabulka popisuje jednotlivé prvky.The following table describes each element.

PrvekElement PopisDescription
indexindex Pozice s nulovým základem v seznamu parametrů objektu, který má být formátován.The zero-based position in the parameter list of the object to be formatted. Pokud je objekt určený indexem null, položka formátu je nahrazena String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Pokud na pozici indexu není žádný parametr, je vyvolána FormatException.If there is no parameter in the index position, a FormatException is thrown.
,Délka,length Minimální počet znaků v řetězcové reprezentaci parametru.The minimum number of characters in the string representation of the parameter. Pokud je kladné, je parametr zarovnán vpravo; Pokud je hodnota záporná, zůstane zarovnaná doleva.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Standardní nebo vlastní řetězec formátu, který je podporován parametrem.A standard or custom format string that is supported by the parameter.

Poznámka

Pro standardní a vlastní řetězce formátu používané s hodnotami data a času naleznete v tématu Standardní řetězce formátu data a času a Vlastní řetězce formátu data a času.For the standard and custom format strings used with date and time values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Pro standardní a vlastní řetězce formátu používané s číselnými hodnotami si přečtěte téma Standardní číselné formátovací řetězce a vlastní číselné formátovací řetězce.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Standardní formátovací řetězce používané s výčty najdete v tématu výčtové řetězce formátu.For the standard format strings used with enumerations, see Enumeration Format Strings.

arg0, arg1a arg2 reprezentují objekty, které mají být formátovány.arg0, arg1, and arg2 represent the objects to be formatted. Každá položka formátu v format je nahrazena řetězcovou reprezentací buď arg0, arg1nebo arg2, v závislosti na indexu položky formátu.Each format item in format is replaced with the string representation of either arg0, arg1, or arg2, depending on the index of the format item. Pokud položka formátu zahrnuje formatString a odpovídající objekt v args implementuje rozhraní IFormattable, pak argx.ToString(formatString, null) definuje formátování, kde x je index argumentu.If the format item includes formatString and the corresponding object in args implements the IFormattable interface, then argx.ToString(formatString, null) defines the formatting, where x is the index of the argument. V opačném případě argx.ToString() definuje formátování.Otherwise, argx.ToString() defines the formatting.

Pokud je řetězec přiřazený k format "Děkujeme za váš darování {0: # # # #} plechovky krmiva do naší dobročinné organizace."If the string assigned to format is "Thank you for your donation of {0:####} cans of food to our charitable organization." a arg0 je celé číslo s hodnotou 10, návratová hodnota bude "Děkujeme za váš darování 10 plechovek v naší dobročinné organizaci."and arg0 is an integer with the value 10, the return value will be "Thank you for your donation of 10 cans of food to our charitable organization."

Poznámky pro volající

V rozhraní .NET Core a v .NET Framework 4,0 a novějších verzích při vytváření instance objektu StringBuilder voláním konstruktoru StringBuilder(Int32, Int32) může být délka i kapacita instance StringBuilder větší než hodnota jeho MaxCapacity vlastnosti.In .NET Core and in the .NET Framework 4.0 and later versions, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. K tomu může dojít, zejména když zavoláte Append(String) a AppendFormat(String, Object) metody pro připojení malých řetězců.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Viz také

Platí pro