StringBuilder.AppendFormat StringBuilder.AppendFormat StringBuilder.AppendFormat StringBuilder.AppendFormat Method

Definição

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres do argumento de um objeto correspondente.Each format item is replaced by the string representation of a corresponding object argument.

Sobrecargas

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um de três argumentos usando um provedor de formato especificado.Each format item is replaced by the string representation of either of three arguments using a specified format provider.

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um único argumento.Each format item is replaced by the string representation of a single argument.

AppendFormat(String, Object[]) AppendFormat(String, Object[]) AppendFormat(String, Object[]) AppendFormat(String, Object[])

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um argumento correspondente em uma matriz de parâmetros.Each format item is replaced by the string representation of a corresponding argument in a parameter array.

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um único argumento usando um provedor de formato especificado.Each format item is replaced by the string representation of a single argument using a specified format provider.

AppendFormat(IFormatProvider, String, Object[]) AppendFormat(IFormatProvider, String, Object[]) AppendFormat(IFormatProvider, String, Object[]) AppendFormat(IFormatProvider, String, Object[])

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de um argumento correspondente em uma matriz de parâmetro usando um provedor de formato especificado.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) AppendFormat(String, Object, Object) AppendFormat(String, Object, Object) AppendFormat(String, Object, Object)

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um dos dois argumentos.Each format item is replaced by the string representation of either of two arguments.

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um de dois argumentos usando um provedor de formato especificado.Each format item is replaced by the string representation of either of two arguments using a specified format provider.

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um dos três argumentos.Each format item is replaced by the string representation of either of three arguments.

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um de três argumentos usando um provedor de formato especificado.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

Parâmetros

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Um objeto que fornece informações de formatação específicas de cultura.An object that supplies culture-specific formatting information.

format
String String String String

Uma cadeia de caracteres de formato de composição.A composite format string.

arg0
Object Object Object Object

O primeiro objeto a ser formatado.The first object to format.

arg1
Object Object Object Object

O segundo objeto a ser formatado.The second object to format.

arg2
Object Object Object Object

O terceiro objeto a ser formatado.The third object to format.

Retornos

Uma referência a essa instância após a conclusão da operação de acréscimo.A reference to this instance after the append operation has completed. Após a operação de acréscimo, essa instância conterá os dados que existiam antes da operação, tendo como sufixo uma cópia de format, na qual qualquer especificação de formato será substituída pela representação de cadeia de caracteres do argumento do objeto correspondente.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.

Exceções

format é inválido.format is invalid.

- ou --or- O índice de um item de formato é menor que 0 (zero) ou maior ou igual a 3 (três).The index of a format item is less than 0 (zero), or greater than or equal to 3 (three).

O tamanho da cadeia de caracteres expandida excederá MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Exemplos

O exemplo a seguir usa o AppendFormat(IFormatProvider, String, Object, Object, Object) método para ilustrar o resultado de um valor booliano And operação com valores inteiros.The following example uses the AppendFormat(IFormatProvider, String, Object, Object, Object) method to illustrate the result of a Boolean And operation with integer values. Observe que a cadeia de caracteres de formato inclui seis itens de formato, mas o método tem apenas três itens na lista de argumentos, porque cada item é formatada de duas maneiras diferentes.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)

Comentários

Esse método usa o recurso de formatação composta do .NET Framework para converter o valor de um objeto em sua representação de texto e inserir essa representação atual StringBuilder objeto.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.

O format parâmetro consiste de zero ou mais execuções de texto misturado com zero ou mais espaços reservados indexados, chamados de itens de formato, que correspondem aos objetos na lista de parâmetros desse método.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. O processo de formatação substitui cada item de formato pela representação de cadeia de caracteres do objeto correspondente.The formatting process replaces each format item with the string representation of the corresponding object.

A sintaxe de um item de formato é da seguinte maneira:The syntax of a format item is as follows:

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

Os elementos entre colchetes são opcionais.Elements in square brackets are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
indexindex A posição de base zero na lista de parâmetros do objeto a ser formatado.The zero-based position in the parameter list of the object to be formatted. Se o objeto especificado pelo índice é null, o item de formato é substituído pelo String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Se não houver nenhum parâmetro na índice posição, um FormatException é gerada.If there is no parameter in the index position, a FormatException is thrown.
,comprimento,length O número mínimo de caracteres na representação de cadeia de caracteres do parâmetro.The minimum number of characters in the string representation of the parameter. Se positivo, o parâmetro é alinhado à direita; Se for negativo, ele é alinhado à esquerda.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Uma cadeia de caracteres de formato personalizado ou padrão que é compatível com o parâmetro.A standard or custom format string that is supported by the parameter.

Observação

Para as cadeias de caracteres de formato padrão e personalizados usadas com valores de data e hora, consulte padrão de data e cadeias de caracteres de formato de hora e personalizado de data e cadeias de caracteres de formato de hora.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. Para as cadeias de caracteres de formato padrão e personalizados usadas com valores numéricos, consulte cadeias de caracteres de formato numérico padrão e cadeias de caracteres de formato numérico personalizado.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Para as cadeias de caracteres de formato padrão usadas com enumerações, consulte cadeias de caracteres de formato de enumeração.For the standard format strings used with enumerations, see Enumeration Format Strings.

O provider parâmetro especifica um IFormatProvider que pode fornecer informações de formatação para implementação arg0 e arg1.The provider parameter specifies an IFormatProvider implementation that can provide formatting information for arg0 and arg1. provider pode ser um destes procedimentos:provider can be any of the following:

  • Um CultureInfo objeto que fornece informações de formatação específicas da cultura.A CultureInfo object that provides culture-specific formatting information.

  • Um NumberFormatInfo objeto que fornece informações de formatação específicas da cultura arg0 ou arg1 se eles são valores numéricos.A NumberFormatInfo object that provides culture-specific formatting information for arg0 or arg1 if they are numeric values.

  • Um DateTimeFormatInfo objeto que fornece informações de formatação específicas da cultura arg0, arg1, ou arg2 se eles forem valores de data e hora.A DateTimeFormatInfo object that provides culture-specific formatting information for arg0, arg1, or arg2 if they are date and time values.

  • Um personalizado IFormatProvider implementação que fornece informações de formatação arg0, arg1, e arg2.A custom IFormatProvider implementation that provides formatting information for arg0, arg1, and arg2. Normalmente, tal implementação também implementa o ICustomFormatter interface.Typically, such an implementation also implements the ICustomFormatter interface.

Se o provider parâmetro é null, informações do provedor de formato são obtidas da cultura atual.If the provider parameter is null, format provider information is obtained from the current culture.

arg0, arg1, e arg2 representam os objetos a serem formatados.arg0, arg1, and arg2 represent the objects to be formatted. Cada item de formato em format é substituído pela representação de cadeia de caracteres do objeto que tem o índice correspondente.Each format item in format is replaced with the string representation of the object that has the corresponding index. Se o item de formato inclui formatString e implementa o argumento correspondente a IFormattable interface e, em seguida, o argumento ToString(formatString, provider) método define a formatação.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. Caso contrário, o argumento ToString() método define a formatação.Otherwise, the argument's ToString() method defines the formatting.

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você cria uma instância de StringBuilder objeto chamando o StringBuilder(Int32, Int32) construtor, o comprimento e a capacidade do StringBuilder instância pode crescer além do valor de seu MaxCapacity propriedade.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. Isso pode ocorrer especialmente quando você chama o Append(String) e AppendFormat(String, Object) métodos para acrescentar cadeias de caracteres pequenas.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Veja também

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um único argumento.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

Parâmetros

format
String String String String

Uma cadeia de caracteres de formato de composição.A composite format string.

arg0
Object Object Object Object

Um objeto a ser formatado.An object to format.

Retornos

Uma referência a essa instância com format acrescentado.A reference to this instance with format appended. Cada item de formato em format é substituído pela representação de cadeia de caracteres de arg0.Each format item in format is replaced by the string representation of arg0.

Exceções

format é inválido.format is invalid.

- ou --or- O índice de um item de formato é menor que 0 (zero) ou maior ou igual a 1.The index of a format item is less than 0 (zero), or greater than or equal to 1.

O tamanho da cadeia de caracteres expandida excederá MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Exemplos

O exemplo a seguir demonstra o AppendFormat método.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
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 'Main
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub 'Show
End Class 'Sample
'
'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

Comentários

Esse método usa o recurso de formatação composta do .NET Framework para converter o valor de um objeto em sua representação de texto e inserir essa representação atual StringBuilder objeto.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.

O format parâmetro consiste de zero ou mais execuções de texto misturado com zero ou mais espaços reservados indexados, chamados de itens de formato.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items. O índice de itens de formato deve ser 0, para corresponder ao arg0, o único objeto na lista de parâmetros desse método.The index of the format items must be 0, to correspond to arg0, the single object in the parameter list of this method. O processo de formatação substitui cada item de formato pela representação de cadeia de caracteres de arg0.The formatting process replaces each format item with the string representation of arg0.

A sintaxe de um item de formato é da seguinte maneira:The syntax of a format item is as follows:

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

Os elementos entre colchetes são opcionais.Elements in square brackets are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
indexindex A posição de base zero na lista de parâmetros do objeto a ser formatado.The zero-based position in the parameter list of the object to be formatted. Se o objeto especificado pelo índice é null, o item de formato é substituído pelo String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Se não houver nenhum parâmetro na índice posição, um FormatException é gerada.If there is no parameter in the index position, a FormatException is thrown.
,comprimento,length O número mínimo de caracteres na representação de cadeia de caracteres do parâmetro.The minimum number of characters in the string representation of the parameter. Se positivo, o parâmetro é alinhado à direita; Se for negativo, ele é alinhado à esquerda.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Uma cadeia de caracteres de formato personalizado ou padrão que é compatível com o parâmetro.A standard or custom format string that is supported by the parameter.

Observação

Para as cadeias de caracteres de formato padrão e personalizados usadas com valores de data e hora, consulte padrão de data e cadeias de caracteres de formato de hora e personalizado de data e cadeias de caracteres de formato de hora.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. Para as cadeias de caracteres de formato padrão e personalizados usadas com valores numéricos, consulte cadeias de caracteres de formato numérico padrão e cadeias de caracteres de formato numérico personalizado.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Para as cadeias de caracteres de formato padrão usadas com enumerações, consulte cadeias de caracteres de formato de enumeração.For the standard format strings used with enumerations, see Enumeration Format Strings.

arg0 representa o objeto a ser formatado.arg0 represents the object to be formatted. Cada item de formato em format é substituído pela representação de cadeia de caracteres de arg0.Each format item in format is replaced with the string representation of arg0. Se o item de formato inclui formatString e arg0 implementa a IFormattable interface, em seguida, arg0.ToString(formatString, null) define a formatação.If the format item includes formatString and arg0 implements the IFormattable interface, then arg0.ToString(formatString, null) defines the formatting. Caso contrário, arg0.ToString() define a formatação.Otherwise, arg0.ToString() defines the formatting.

Se a cadeia de caracteres atribuída a format é "Obrigado por sua doação de {0: # # #} latas de alimentos para nossa organização de caridade."If the string assigned to format is "Thank you for your donation of {0:####} cans of food to our charitable organization." e arg0 é um inteiro com o valor 10, o valor de retorno será "Obrigado por sua doação 10 latas de alimentos para nossa organização de caridade".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."

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você cria uma instância de StringBuilder objeto chamando o StringBuilder(Int32, Int32) construtor, o comprimento e a capacidade do StringBuilder instância pode crescer além do valor de seu MaxCapacity propriedade.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. Isso pode ocorrer especialmente quando você chama o Append(String) e AppendFormat(String, Object) métodos para acrescentar cadeias de caracteres pequenas.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Veja também

AppendFormat(String, Object[]) AppendFormat(String, Object[]) AppendFormat(String, Object[]) AppendFormat(String, Object[])

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um argumento correspondente em uma matriz de parâmetros.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

Parâmetros

format
String String String String

Uma cadeia de caracteres de formato de composição.A composite format string.

args
Object[]

Uma matriz de objetos a ser formatada.An array of objects to format.

Retornos

Uma referência a essa instância com format acrescentado.A reference to this instance with format appended. Cada item de formato no format é substituído pela representação de cadeia de caracteres do argumento de objeto correspondente.Each format item in format is replaced by the string representation of the corresponding object argument.

Exceções

format é inválido.format is invalid.

- ou --or- O índice de um item de formato é menor que 0 (zero) ou maior ou igual ao tamanho da matriz args.The index of a format item is less than 0 (zero), or greater than or equal to the length of the args array.

O tamanho da cadeia de caracteres expandida excederá MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Exemplos

O exemplo a seguir demonstra o AppendFormat método.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
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 'Main
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub 'Show
End Class 'Sample
'
'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

Comentários

Esse método usa o recurso de formatação composta do .NET Framework para converter o valor de um objeto em sua representação de texto e inserir essa representação atual StringBuilder objeto.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.

O format parâmetro consiste de zero ou mais execuções de texto misturado com zero ou mais espaços reservados indexados, chamados de itens de formato, que correspondem aos objetos na lista de parâmetros desse método.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. O processo de formatação substitui cada item de formato pela representação de cadeia de caracteres do objeto correspondente.The formatting process replaces each format item with the string representation of the corresponding object.

A sintaxe de um item de formato é da seguinte maneira:The syntax of a format item is as follows:

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

Os elementos entre colchetes são opcionais.Elements in square brackets are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
indexindex A posição de base zero na lista de parâmetros do objeto a ser formatado.The zero-based position in the parameter list of the object to be formatted. Se o objeto especificado pelo índice é null, o item de formato é substituído pelo String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Se não houver nenhum parâmetro na índice posição, um FormatException é gerada.If there is no parameter in the index position, a FormatException is thrown.
,comprimento,length O número mínimo de caracteres na representação de cadeia de caracteres do parâmetro.The minimum number of characters in the string representation of the parameter. Se positivo, o parâmetro é alinhado à direita; Se for negativo, ele é alinhado à esquerda.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Uma cadeia de caracteres de formato personalizado ou padrão que é compatível com o parâmetro.A standard or custom format string that is supported by the parameter.

Observação

Para as cadeias de caracteres de formato padrão e personalizados usadas com valores de data e hora, consulte padrão de data e cadeias de caracteres de formato de hora e personalizado de data e cadeias de caracteres de formato de hora.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. Para as cadeias de caracteres de formato padrão e personalizados usadas com valores numéricos, consulte cadeias de caracteres de formato numérico padrão e cadeias de caracteres de formato numérico personalizado.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Para as cadeias de caracteres de formato padrão usadas com enumerações, consulte cadeias de caracteres de formato de enumeração.For the standard format strings used with enumerations, see Enumeration Format Strings.

args representa os objetos a serem formatados.args represents the objects to be formatted. Cada item de formato em format é substituído pela representação de cadeia de caracteres do objeto correspondente no args.Each format item in format is replaced with the string representation of the corresponding object in args. Se o item de formato inclui formatString e o objeto correspondente no args implementa a IFormattable interface, em seguida, args[index].ToString(formatString, provider) define a formatação.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. Caso contrário, args[index].ToString() define a formatação.Otherwise, args[index].ToString() defines the formatting.

Se a cadeia de caracteres atribuída a format é "Obrigado por sua doação de {0: # # #} latas de alimentos para nossa organização de caridade."If the string assigned to format is "Thank you for your donation of {0:####} cans of food to our charitable organization." e arg0 é um inteiro com o valor 10, o valor de retorno será "Obrigado por sua doação 10 latas de alimentos para nossa organização de caridade".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."

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você cria uma instância de StringBuilder objeto chamando o StringBuilder(Int32, Int32) construtor, o comprimento e a capacidade do StringBuilder instância pode crescer além do valor de seu MaxCapacity propriedade.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. Isso pode ocorrer especialmente quando você chama o Append(String) e AppendFormat(String, Object) métodos para acrescentar cadeias de caracteres pequenas.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Veja também

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um único argumento usando um provedor de formato especificado.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

Parâmetros

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Um objeto que fornece informações de formatação específicas de cultura.An object that supplies culture-specific formatting information.

format
String String String String

Uma cadeia de caracteres de formato de composição.A composite format string.

arg0
Object Object Object Object

O objeto a ser formatado.The object to format.

Retornos

Uma referência a essa instância após a conclusão da operação de acréscimo.A reference to this instance after the append operation has completed. Após a operação de acréscimo, essa instância conterá os dados que existiam antes da operação, tendo como sufixo uma cópia de format, na qual qualquer especificação de formato será substituída pela representação de cadeia de caracteres de 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.

Exceções

format é inválido.format is invalid.

- ou --or- O índice de um item de formato é menor que 0 (zero) ou maior ou igual a 1 (um).The index of a format item is less than 0 (zero), or greater than or equal to one (1).

O tamanho da cadeia de caracteres expandida excederá MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Exemplos

O exemplo a seguir inclui duas chamadas para o AppendFormat(IFormatProvider, String, Object) método.The following includes two calls to the AppendFormat(IFormatProvider, String, Object) method. Ambos usam as convenções de formatação da cultura inglês-Grã-Bretanha (en-GB).Both use the formatting conventions of the English-Great Britain (en-GB) culture. O primeiro insere a representação de cadeia de caracteres de um Decimal moeda em uma cadeia de caracteres de resultado de valor.The first inserts the string representation of a Decimal value currency in a result string. O segundo insere um DateTime valor em dois locais em um resultado de cadeia de caracteres, incluindo primeiro, somente curto Data da cadeia de caracteres e o segundo a cadeia de caracteres de hora abreviada.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

Comentários

Esse método usa o recurso de formatação composta do .NET Framework para converter o valor de arg0 em sua representação de texto e inserir essa representação atual StringBuilder objeto.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.

O format parâmetro consiste de zero ou mais execuções de texto misturado com zero ou mais espaços reservados indexados, chamados de itens de formato.The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items. O índice de cada item de formato deve ser zero (0), pois esse método inclui uma lista de argumentos com um único argumento.The index of each format item must be zero (0) since this method includes an argument list with a single argument. O processo de formatação substitui cada item de formato pela representação de cadeia de caracteres de arg0.The formatting process replaces each format item with the string representation of arg0.

A sintaxe de um item de formato é da seguinte maneira:The syntax of a format item is as follows:

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

Os elementos entre colchetes são opcionais.Elements in square brackets are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
indexindex A posição de base zero na lista de parâmetros do objeto a ser formatado.The zero-based position in the parameter list of the object to be formatted. Se o objeto especificado pelo índice é null, o item de formato é substituído pelo String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Nesse caso, desde o AppendFormat(IFormatProvider, String, Object) o método tem um único argumento na lista de argumentos, o valor da índice deve ser sempre 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. Se não, é um FormatException é gerada.If it is not, a FormatException is thrown.
,comprimento,length O número mínimo de caracteres na representação de cadeia de caracteres do parâmetro.The minimum number of characters in the string representation of the parameter. Se positivo, o parâmetro é alinhado à direita; Se for negativo, ele é alinhado à esquerda.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Uma cadeia de caracteres de formato personalizado ou padrão que é compatível com o parâmetro.A standard or custom format string that is supported by the parameter.

Observação

Para as cadeias de caracteres de formato padrão e personalizados usadas com valores de data e hora, consulte padrão de data e cadeias de caracteres de formato de hora e personalizado de data e cadeias de caracteres de formato de hora.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. Para as cadeias de caracteres de formato padrão e personalizados usadas com valores numéricos, consulte cadeias de caracteres de formato numérico padrão e cadeias de caracteres de formato numérico personalizado.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Para as cadeias de caracteres de formato padrão usadas com enumerações, consulte cadeias de caracteres de formato de enumeração.For the standard format strings used with enumerations, see Enumeration Format Strings.

O provider parâmetro especifica um IFormatProvider implementação que pode fornecer informações de formatação para os objetos no args.The provider parameter specifies an IFormatProvider implementation that can provide formatting information for the objects in args. provider pode ser um destes procedimentos:provider can be any of the following:

  • Um CultureInfo objeto que fornece informações de formatação específicas da cultura.A CultureInfo object that provides culture-specific formatting information.

  • Um NumberFormatInfo objeto que fornece informações de formatação específicas da cultura para arg0 se ele é um valor numérico.A NumberFormatInfo object that provides culture-specific formatting information for arg0 if it is a numeric value.

  • Um DateTimeFormatInfo objeto que fornece informações de formatação específicas da cultura para arg0 se ele for um valor de data e hora.A DateTimeFormatInfo object that provides culture-specific formatting information for arg0 if it is a date and time value.

  • Um personalizado IFormatProvider implementação que fornece informações de formatação para arg0.A custom IFormatProvider implementation that provides formatting information for arg0. Normalmente, tal implementação também implementa o ICustomFormatter interface.Typically, such an implementation also implements the ICustomFormatter interface.

Se o provider parâmetro é null, formatação informações são obtidas da cultura atual.If the provider parameter is null, formatting information is obtained from the current culture.

arg0 representa o objeto a ser formatado.arg0 represents the object to be formatted. Cada item de formato em format é substituído pela representação de cadeia de caracteres de arg0.Each format item in format is replaced with the string representation of arg0. Se o item de formato inclui formatString e arg0 implementa a IFormattable interface, em seguida, arg0.ToString(formatString, provider) define a formatação.If the format item includes formatString and arg0 implements the IFormattable interface, then arg0.ToString(formatString, provider) defines the formatting. Caso contrário, arg0.ToString() define a formatação.Otherwise, arg0.ToString() defines the formatting.

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você cria uma instância de StringBuilder objeto chamando o StringBuilder(Int32, Int32) construtor, o comprimento e a capacidade do StringBuilder instância pode crescer além do valor de seu MaxCapacity propriedade.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. Isso pode ocorrer especialmente quando você chama o Append(String) e AppendFormat(String, Object) métodos para acrescentar cadeias de caracteres pequenas.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Veja também

AppendFormat(IFormatProvider, String, Object[]) AppendFormat(IFormatProvider, String, Object[]) AppendFormat(IFormatProvider, String, Object[]) AppendFormat(IFormatProvider, String, Object[])

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de um argumento correspondente em uma matriz de parâmetro usando um provedor de formato especificado.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

Parâmetros

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Um objeto que fornece informações de formatação específicas de cultura.An object that supplies culture-specific formatting information.

format
String String String String

Uma cadeia de caracteres de formato de composição.A composite format string.

args
Object[]

Uma matriz de objetos a ser formatada.An array of objects to format.

Retornos

Uma referência a essa instância após a conclusão da operação de acréscimo.A reference to this instance after the append operation has completed. Após a operação de acréscimo, essa instância conterá os dados que existiam antes da operação, tendo como sufixo uma cópia de format, na qual qualquer especificação de formato será substituída pela representação de cadeia de caracteres do argumento do objeto correspondente.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.

Exceções

format é inválido.format is invalid.

- ou --or- O índice de um item de formato é menor que 0 (zero) ou maior ou igual ao tamanho da matriz args.The index of a format item is less than 0 (zero), or greater than or equal to the length of the args array.

O tamanho da cadeia de caracteres expandida excederá MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Exemplos

O exemplo a seguir demonstra o AppendFormat método.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
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 'Main
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub 'Show
End Class 'Sample
'
'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

O exemplo a seguir define um personalizado IFormatProvider implementação chamada CustomerFormatter que formata um número com hifens de cliente de 10 dígitos após o quarto e o sétimo dígitos.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. Ele é passado para o StringBuilder.AppendFormat(IFormatProvider, String, Object[]) método para criar uma cadeia de caracteres que inclui o número formatado de cliente e o nome do cliente.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

Comentários

Esse método usa o recurso de formatação composta do .NET Framework para converter o valor de um objeto em sua representação de texto e inserir essa representação atual StringBuilder objeto.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.

O format parâmetro consiste de zero ou mais execuções de texto misturado com zero ou mais espaços reservados indexados, chamados de itens de formato, que correspondem aos objetos na lista de parâmetros desse método.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. O processo de formatação substitui cada item de formato pela representação de cadeia de caracteres do objeto correspondente.The formatting process replaces each format item with the string representation of the corresponding object.

A sintaxe de um item de formato é da seguinte maneira:The syntax of a format item is as follows:

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

Os elementos entre colchetes são opcionais.Elements in square brackets are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
indexindex A posição de base zero na lista de parâmetros do objeto a ser formatado.The zero-based position in the parameter list of the object to be formatted. Se o objeto especificado pelo índice é null, o item de formato é substituído pelo String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Se não houver nenhum parâmetro na índice posição, um FormatException é gerada.If there is no parameter in the index position, a FormatException is thrown.
,comprimento,length O número mínimo de caracteres na representação de cadeia de caracteres do parâmetro.The minimum number of characters in the string representation of the parameter. Se positivo, o parâmetro é alinhado à direita; Se for negativo, ele é alinhado à esquerda.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Uma cadeia de caracteres de formato personalizado ou padrão que é compatível com o parâmetro.A standard or custom format string that is supported by the parameter.

Observação

Para as cadeias de caracteres de formato padrão e personalizados usadas com valores de data e hora, consulte padrão de data e cadeias de caracteres de formato de hora e personalizado de data e cadeias de caracteres de formato de hora.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. Para as cadeias de caracteres de formato padrão e personalizados usadas com valores numéricos, consulte cadeias de caracteres de formato numérico padrão e cadeias de caracteres de formato numérico personalizado.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Para as cadeias de caracteres de formato padrão usadas com enumerações, consulte cadeias de caracteres de formato de enumeração.For the standard format strings used with enumerations, see Enumeration Format Strings.

O provider parâmetro especifica um IFormatProvider implementação que pode fornecer informações de formatação para os objetos no args.The provider parameter specifies an IFormatProvider implementation that can provide formatting information for the objects in args. provider pode ser um destes procedimentos:provider can be any of the following:

Se o provider parâmetro é null, informações do provedor de formato são obtidas da cultura atual.If the provider parameter is null, format provider information is obtained from the current culture.

args representa os objetos a serem formatados.args represents the objects to be formatted. Cada item de formato em format é substituído pela representação de cadeia de caracteres do objeto correspondente no args.Each format item in format is replaced with the string representation of the corresponding object in args. Se o item de formato inclui formatString e o objeto correspondente no args implementa a IFormattable interface, em seguida, args[index].ToString(formatString, provider) define a formatação.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. Caso contrário, args[index].ToString() define a formatação.Otherwise, args[index].ToString() defines the formatting.

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você cria uma instância de StringBuilder objeto chamando o StringBuilder(Int32, Int32) construtor, o comprimento e a capacidade do StringBuilder instância pode crescer além do valor de seu MaxCapacity propriedade.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. Isso pode ocorrer especialmente quando você chama o Append(String) e AppendFormat(String, Object) métodos para acrescentar cadeias de caracteres pequenas.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Veja também

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um dos dois argumentos.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

Parâmetros

format
String String String String

Uma cadeia de caracteres de formato de composição.A composite format string.

arg0
Object Object Object Object

O primeiro objeto a ser formatado.The first object to format.

arg1
Object Object Object Object

O segundo objeto a ser formatado.The second object to format.

Retornos

Uma referência a essa instância com format acrescentado.A reference to this instance with format appended. Cada item de formato no format é substituído pela representação de cadeia de caracteres do argumento de objeto correspondente.Each format item in format is replaced by the string representation of the corresponding object argument.

Exceções

format é inválido.format is invalid.

- ou --or- O índice de um item de formato é menor que 0 (zero) ou maior ou igual a 2.The index of a format item is less than 0 (zero), or greater than or equal to 2.

O tamanho da cadeia de caracteres expandida excederá MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Exemplos

O exemplo a seguir demonstra o AppendFormat método.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
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 'Main
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub 'Show
End Class 'Sample
'
'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

Comentários

Esse método usa o recurso de formatação composta do .NET Framework para converter o valor de um objeto em sua representação de texto e inserir essa representação atual StringBuilder objeto.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.

O format parâmetro consiste de zero ou mais execuções de texto misturado com zero ou mais espaços reservados indexados, chamados de itens de formato, que correspondem aos arg0 e arg1, os dois objetos na lista de parâmetros desse método.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. O processo de formatação substitui cada item de formato pela representação de cadeia de caracteres do objeto correspondente.The formatting process replaces each format item with the string representation of the corresponding object.

A sintaxe de um item de formato é da seguinte maneira:The syntax of a format item is as follows:

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

Os elementos entre colchetes são opcionais.Elements in square brackets are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
indexindex A posição de base zero na lista de parâmetros do objeto a ser formatado.The zero-based position in the parameter list of the object to be formatted. Se o objeto especificado pelo índice é null, o item de formato é substituído pelo String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Se não houver nenhum parâmetro na índice posição, um FormatException é gerada.If there is no parameter in the index position, a FormatException is thrown.
,comprimento,length O número mínimo de caracteres na representação de cadeia de caracteres do parâmetro.The minimum number of characters in the string representation of the parameter. Se positivo, o parâmetro é alinhado à direita; Se for negativo, ele é alinhado à esquerda.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Uma cadeia de caracteres de formato personalizado ou padrão que é compatível com o parâmetro.A standard or custom format string that is supported by the parameter.

Observação

Para as cadeias de caracteres de formato padrão e personalizados usadas com valores de data e hora, consulte padrão de data e cadeias de caracteres de formato de hora e personalizado de data e cadeias de caracteres de formato de hora.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. Para as cadeias de caracteres de formato padrão e personalizados usadas com valores numéricos, consulte cadeias de caracteres de formato numérico padrão e cadeias de caracteres de formato numérico personalizado.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Para as cadeias de caracteres de formato padrão usadas com enumerações, consulte cadeias de caracteres de formato de enumeração.For the standard format strings used with enumerations, see Enumeration Format Strings.

arg0 e arg1 representam os objetos a serem formatados.arg0 and arg1 represent the objects to be formatted. Cada item de formato em format é substituída pela representação de cadeia de caracteres de um arg0 ou arg1.Each format item in format is replaced with the string representation of either arg0 or arg1. Se o item de formato inclui formatString e implementa o objeto correspondente a IFormattable interface, em seguida, arg x .ToString(formatString, provider) define a formatação, onde x é o índice do argumento.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. Caso contrário, arg x .ToString() define a formatação.Otherwise, argx.ToString() defines the formatting.

Se a cadeia de caracteres atribuída a format é "Obrigado por sua doação de {0: # # #} latas de alimentos para nossa organização de caridade."If the string assigned to format is "Thank you for your donation of {0:####} cans of food to our charitable organization." e arg0 é um inteiro com o valor 10, o valor de retorno será "Obrigado por sua doação 10 latas de alimentos para nossa organização de caridade".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."

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você cria uma instância de StringBuilder objeto chamando o StringBuilder(Int32, Int32) construtor, o comprimento e a capacidade do StringBuilder instância pode crescer além do valor de seu MaxCapacity propriedade.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. Isso pode ocorrer especialmente quando você chama o Append(String) e AppendFormat(String, Object) métodos para acrescentar cadeias de caracteres pequenas.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Veja também

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um de dois argumentos usando um provedor de formato especificado.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

Parâmetros

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Um objeto que fornece informações de formatação específicas de cultura.An object that supplies culture-specific formatting information.

format
String String String String

Uma cadeia de caracteres de formato de composição.A composite format string.

arg0
Object Object Object Object

O primeiro objeto a ser formatado.The first object to format.

arg1
Object Object Object Object

O segundo objeto a ser formatado.The second object to format.

Retornos

Uma referência a essa instância após a conclusão da operação de acréscimo.A reference to this instance after the append operation has completed. Após a operação de acréscimo, essa instância conterá os dados que existiam antes da operação, tendo como sufixo uma cópia de format, na qual qualquer especificação de formato será substituída pela representação de cadeia de caracteres do argumento do objeto correspondente.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.

Exceções

format é inválido.format is invalid.

- ou --or- O índice de um item de formato é menor que 0 (zero) ou maior ou igual a 2 (dois).The index of a format item is less than 0 (zero), or greater than or equal to 2 (two).

O tamanho da cadeia de caracteres expandida excederá MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Exemplos

O exemplo a seguir usa o AppendFormat(IFormatProvider, String, Object, Object) método para exibir dados de tempo e a temperatura armazenados em um genérico Dictionary<TKey,TValue> objeto.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. Observe que a cadeia de caracteres de formato tem três itens de formato, embora haja somente a objetos a serem formatados.Note that the format string has three format items, although there are only to objects to format. Isso ocorre porque o primeiro objeto na lista (um valor de data e hora) é usado pelos itens de formato de dois: O primeiro formato item exibe a hora e a segunda exibe a data.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

Comentários

Esse método usa o recurso de formatação composta do .NET Framework para converter o valor de um objeto em sua representação de texto e inserir essa representação atual StringBuilder objeto.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.

O format parâmetro consiste de zero ou mais execuções de texto misturado com zero ou mais espaços reservados indexados, chamados de itens de formato, que correspondem aos objetos na lista de parâmetros desse método.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. O processo de formatação substitui cada item de formato pela representação de cadeia de caracteres do objeto correspondente.The formatting process replaces each format item with the string representation of the corresponding object.

A sintaxe de um item de formato é da seguinte maneira:The syntax of a format item is as follows:

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

Os elementos entre colchetes são opcionais.Elements in square brackets are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
indexindex A posição de base zero na lista de parâmetros do objeto a ser formatado.The zero-based position in the parameter list of the object to be formatted. Se o objeto especificado pelo índice é null, o item de formato é substituído pelo String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Se não houver nenhum parâmetro na índice posição, um FormatException é gerada.If there is no parameter in the index position, a FormatException is thrown.
,comprimento,length O número mínimo de caracteres na representação de cadeia de caracteres do parâmetro.The minimum number of characters in the string representation of the parameter. Se positivo, o parâmetro é alinhado à direita; Se for negativo, ele é alinhado à esquerda.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Uma cadeia de caracteres de formato personalizado ou padrão que é compatível com o parâmetro.A standard or custom format string that is supported by the parameter.

Observação

Para as cadeias de caracteres de formato padrão e personalizados usadas com valores de data e hora, consulte padrão de data e cadeias de caracteres de formato de hora e personalizado de data e cadeias de caracteres de formato de hora.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. Para as cadeias de caracteres de formato padrão e personalizados usadas com valores numéricos, consulte cadeias de caracteres de formato numérico padrão e cadeias de caracteres de formato numérico personalizado.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Para as cadeias de caracteres de formato padrão usadas com enumerações, consulte cadeias de caracteres de formato de enumeração.For the standard format strings used with enumerations, see Enumeration Format Strings.

O provider parâmetro especifica um IFormatProvider que pode fornecer informações de formatação para implementação arg0 e arg1.The provider parameter specifies an IFormatProvider implementation that can provide formatting information for arg0 and arg1. provider pode ser um destes procedimentos:provider can be any of the following:

  • Um CultureInfo objeto que fornece informações de formatação específicas da cultura.A CultureInfo object that provides culture-specific formatting information.

  • Um NumberFormatInfo objeto que fornece informações de formatação específicas da cultura arg0 ou arg1 se eles são valores numéricos.A NumberFormatInfo object that provides culture-specific formatting information for arg0 or arg1 if they are numeric values.

  • Um DateTimeFormatInfo objeto que fornece informações de formatação específicas da cultura arg0 ou arg1 se eles forem valores de data e hora.A DateTimeFormatInfo object that provides culture-specific formatting information for arg0 or arg1 if they are date and time values.

  • Um personalizado IFormatProvider implementação que fornece informações de formatação arg0 e arg1.A custom IFormatProvider implementation that provides formatting information for arg0 and arg1. Normalmente, tal implementação também implementa o ICustomFormatter interface.Typically, such an implementation also implements the ICustomFormatter interface.

Se o provider parâmetro é null, informações do provedor de formato são obtidas da cultura atual.If the provider parameter is null, format provider information is obtained from the current culture.

arg0 e arg1 representam os objetos a serem formatados.arg0 and arg1 represent the objects to be formatted. Cada item de formato em format é substituído pela representação de cadeia de caracteres do objeto que tem o índice correspondente.Each format item in format is replaced with the string representation of the object that has the corresponding index. Se o item de formato inclui formatString e implementa o argumento correspondente a IFormattable interface e, em seguida, o argumento ToString(formatString, provider) método define a formatação.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. Caso contrário, o argumento ToString() método define a formatação.Otherwise, the argument's ToString() method defines the formatting.

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você cria uma instância de StringBuilder objeto chamando o StringBuilder(Int32, Int32) construtor, o comprimento e a capacidade do StringBuilder instância pode crescer além do valor de seu MaxCapacity propriedade.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. Isso pode ocorrer especialmente quando você chama o Append(String) e AppendFormat(String, Object) métodos para acrescentar cadeias de caracteres pequenas.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Veja também

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

Acrescenta a cadeia de caracteres retornada pelo processamento de uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a essa instância.Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Cada item de formato é substituído pela representação de cadeia de caracteres de um dos três argumentos.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

Parâmetros

format
String String String String

Uma cadeia de caracteres de formato de composição.A composite format string.

arg0
Object Object Object Object

O primeiro objeto a ser formatado.The first object to format.

arg1
Object Object Object Object

O segundo objeto a ser formatado.The second object to format.

arg2
Object Object Object Object

O terceiro objeto a ser formatado.The third object to format.

Retornos

Uma referência a essa instância com format acrescentado.A reference to this instance with format appended. Cada item de formato no format é substituído pela representação de cadeia de caracteres do argumento de objeto correspondente.Each format item in format is replaced by the string representation of the corresponding object argument.

Exceções

format é inválido.format is invalid.

- ou --or- O índice de um item de formato é menor que 0 (zero) ou maior ou igual a 3.The index of a format item is less than 0 (zero), or greater than or equal to 3.

O tamanho da cadeia de caracteres expandida excederá MaxCapacity.The length of the expanded string would exceed MaxCapacity.

Exemplos

O exemplo a seguir demonstra o AppendFormat método.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
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 'Main
   
   Public Shared Sub Show(sbs As StringBuilder)
      Console.WriteLine(sbs.ToString())
      sb.Length = 0
   End Sub 'Show
End Class 'Sample
'
'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

Comentários

Esse método usa o recurso de formatação composta do .NET Framework para converter o valor de um objeto em sua representação de texto e inserir essa representação atual StringBuilder objeto.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.

O format parâmetro consiste de zero ou mais execuções de texto misturado com zero ou mais espaços reservados indexados, chamados de itens de formato, que correspondem aos arg0 por meio de arg2, os objetos na lista de parâmetros desse método.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. O processo de formatação substitui cada item de formato pela representação de cadeia de caracteres do objeto correspondente.The formatting process replaces each format item with the string representation of the corresponding object.

A sintaxe de um item de formato é da seguinte maneira:The syntax of a format item is as follows:

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

Os elementos entre colchetes são opcionais.Elements in square brackets are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
indexindex A posição de base zero na lista de parâmetros do objeto a ser formatado.The zero-based position in the parameter list of the object to be formatted. Se o objeto especificado pelo índice é null, o item de formato é substituído pelo String.Empty.If the object specified by index is null, the format item is replaced by String.Empty. Se não houver nenhum parâmetro na índice posição, um FormatException é gerada.If there is no parameter in the index position, a FormatException is thrown.
,comprimento,length O número mínimo de caracteres na representação de cadeia de caracteres do parâmetro.The minimum number of characters in the string representation of the parameter. Se positivo, o parâmetro é alinhado à direita; Se for negativo, ele é alinhado à esquerda.If positive, the parameter is right-aligned; if negative, it is left-aligned.
:formatString:formatString Uma cadeia de caracteres de formato personalizado ou padrão que é compatível com o parâmetro.A standard or custom format string that is supported by the parameter.

Observação

Para as cadeias de caracteres de formato padrão e personalizados usadas com valores de data e hora, consulte padrão de data e cadeias de caracteres de formato de hora e personalizado de data e cadeias de caracteres de formato de hora.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. Para as cadeias de caracteres de formato padrão e personalizados usadas com valores numéricos, consulte cadeias de caracteres de formato numérico padrão e cadeias de caracteres de formato numérico personalizado.For the standard and custom format strings used with numeric values, see Standard Numeric Format Strings and Custom Numeric Format Strings. Para as cadeias de caracteres de formato padrão usadas com enumerações, consulte cadeias de caracteres de formato de enumeração.For the standard format strings used with enumerations, see Enumeration Format Strings.

arg0, arg1, e arg2 representam os objetos a serem formatados.arg0, arg1, and arg2 represent the objects to be formatted. Cada item de formato em format é substituída pela representação de cadeia de caracteres de um arg0, arg1, ou arg2, dependendo do índice do item de formato.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. Se o item de formato inclui formatString e o objeto correspondente no args implementa a IFormattable interface, em seguida, arg x .ToString(formatString, null) define a formatação, onde x é o índice do argumento.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. Caso contrário, arg x .ToString() define a formatação.Otherwise, argx.ToString() defines the formatting.

Se a cadeia de caracteres atribuída a format é "Obrigado por sua doação de {0: # # #} latas de alimentos para nossa organização de caridade."If the string assigned to format is "Thank you for your donation of {0:####} cans of food to our charitable organization." e arg0 é um inteiro com o valor 10, o valor de retorno será "Obrigado por sua doação 10 latas de alimentos para nossa organização de caridade".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."

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você cria uma instância de StringBuilder objeto chamando o StringBuilder(Int32, Int32) construtor, o comprimento e a capacidade do StringBuilder instância pode crescer além do valor de seu MaxCapacity propriedade.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. Isso pode ocorrer especialmente quando você chama o Append(String) e AppendFormat(String, Object) métodos para acrescentar cadeias de caracteres pequenas.This can occur particularly when you call the Append(String) and AppendFormat(String, Object) methods to append small strings.

Veja também

Aplica-se a