Compartilhar via


StringBuilder Classe

Definição

Representa uma cadeia de caracteres mutável. Essa classe não pode ser herdada.

public ref class StringBuilder sealed
public ref class StringBuilder sealed : System::Runtime::Serialization::ISerializable
public sealed class StringBuilder
public sealed class StringBuilder : System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class StringBuilder
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StringBuilder : System.Runtime.Serialization.ISerializable
type StringBuilder = class
type StringBuilder = class
    interface ISerializable
[<System.Serializable>]
type StringBuilder = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StringBuilder = class
    interface ISerializable
Public NotInheritable Class StringBuilder
Public NotInheritable Class StringBuilder
Implements ISerializable
Herança
StringBuilder
Atributos
Implementações

Exemplos

O exemplo a seguir mostra como chamar muitos dos métodos definidos pela classe StringBuilder.

using namespace System;
using namespace System::Text;

int main()
{
    // Create a StringBuilder that expects to hold 50 characters.
    // Initialize the StringBuilder with "ABC".
    StringBuilder^ sb = gcnew StringBuilder("ABC", 50);

    // Append three characters (D, E, and F) to the end of the
    // StringBuilder.
    sb->Append(gcnew array<Char>{'D', 'E', 'F'});

    // Append a format string to the end of the StringBuilder.
    sb->AppendFormat("GHI{0}{1}", (Char)'J', (Char)'k');

    // Display the number of characters in the StringBuilder
    // and its string.
    Console::WriteLine("{0} chars: {1}", sb->Length, sb->ToString());

    // Insert a string at the beginning of the StringBuilder.
    sb->Insert(0, "Alphabet: ");

    // Replace all lowercase k's with uppercase K's.
    sb->Replace('k', 'K');

    // Display the number of characters in the StringBuilder
    // and its string.
    Console::WriteLine("{0} chars: {1}", sb->Length, sb->ToString());
}

// This code produces the following output.
//
// 11 chars: ABCDEFGHIJk
// 21 chars: Alphabet: ABCDEFGHIJK
using System;
using System.Text;

public sealed class App
{
    static void Main()
    {
        // Create a StringBuilder that expects to hold 50 characters.
        // Initialize the StringBuilder with "ABC".
        StringBuilder sb = new StringBuilder("ABC", 50);

        // Append three characters (D, E, and F) to the end of the StringBuilder.
        sb.Append(new char[] { 'D', 'E', 'F' });

        // Append a format string to the end of the StringBuilder.
        sb.AppendFormat("GHI{0}{1}", 'J', 'k');

        // Display the number of characters in the StringBuilder and its string.
        Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString());

        // Insert a string at the beginning of the StringBuilder.
        sb.Insert(0, "Alphabet: ");

        // Replace all lowercase k's with uppercase K's.
        sb.Replace('k', 'K');

        // Display the number of characters in the StringBuilder and its string.
        Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString());
    }
}

// This code produces the following output.
//
// 11 chars: ABCDEFGHIJk
// 21 chars: Alphabet: ABCDEFGHIJK
open System.Text

// Create a StringBuilder that expects to hold 50 characters.
// Initialize the StringBuilder with "ABC".
let sb = StringBuilder("ABC", 50)

// Append three characters (D, E, and F) to the end of the StringBuilder.
sb.Append [| 'D'; 'E'; 'F' |] |> ignore

// Append a format string to the end of the StringBuilder.
sb.AppendFormat("GHI{0}{1}", 'J', 'k') |> ignore

// Display the number of characters in the StringBuilder and its string.
printfn $"{sb.Length} chars: {sb}"

// Insert a string at the beginning of the StringBuilder.
sb.Insert(0, "Alphabet: ") |> ignore

// Replace all lowercase k's with uppercase K's.
sb.Replace('k', 'K') |> ignore

// Display the number of characters in the StringBuilder and its string.
printfn $"{sb.Length} chars: {sb}"

// This code produces the following output.
//
// 11 chars: ABCDEFGHIJk
// 21 chars: Alphabet: ABCDEFGHIJK
Imports System.Text

Public Module App 
    Public Sub Main() 
        ' Create a StringBuilder that expects to hold 50 characters.
        ' Initialize the StringBuilder with "ABC".
        Dim sb As New StringBuilder("ABC", 50)

        ' Append three characters (D, E, and F) to the end of the StringBuilder.
        sb.Append(New Char() {"D"c, "E"c, "F"c})

        ' Append a format string to the end of the StringBuilder.
        sb.AppendFormat("GHI{0}{1}", "J"c, "k"c)

        ' Display the number of characters in the StringBuilder and its string.
        Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString())

        ' Insert a string at the beginning of the StringBuilder.
        sb.Insert(0, "Alphabet: ")

        ' Replace all lowercase k's with uppercase K's.
        sb.Replace("k", "K")

        ' Display the number of characters in the StringBuilder and its string.
        Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString())
    End Sub
End Module

' This code produces the following output.
'
' 11 chars: ABCDEFGHIJk
' 21 chars: Alphabet: ABCDEFGHIJK

Comentários

Para obter mais informações sobre essa API, consulte comentários de API Suplementar para StringBuilder.

Notas aos Chamadores

No .NET Core e no .NET Framework 4.0 e versões posteriores, quando você instancia o objeto StringBuilder chamando o construtor StringBuilder(Int32, Int32), tanto o comprimento quanto a capacidade da instância de StringBuilder podem crescer além do valor de sua propriedade MaxCapacity. Isso pode ocorrer especialmente quando você chama os métodos Append(String) e AppendFormat(String, Object) para acrescentar cadeias de caracteres pequenas.

Construtores

StringBuilder()

Inicializa uma nova instância da classe StringBuilder.

StringBuilder(Int32)

Inicializa uma nova instância da classe StringBuilder usando a capacidade especificada.

StringBuilder(Int32, Int32)

Inicializa uma nova instância da classe StringBuilder que começa com uma capacidade especificada e pode aumentar para um máximo especificado.

StringBuilder(String)

Inicializa uma nova instância da classe StringBuilder usando a cadeia de caracteres especificada.

StringBuilder(String, Int32)

Inicializa uma nova instância da classe StringBuilder usando a cadeia de caracteres e a capacidade especificadas.

StringBuilder(String, Int32, Int32, Int32)

Inicializa uma nova instância da classe StringBuilder da subcadeia de caracteres e capacidade especificada.

Propriedades

Capacity

Obtém ou define o número máximo de caracteres que podem ser contidos na memória alocada pela instância atual.

Chars[Int32]

Obtém ou define o caractere na posição de caractere especificada nesta instância.

Length

Obtém ou define o comprimento do objeto StringBuilder atual.

MaxCapacity

Obtém a capacidade máxima dessa instância.

Métodos

Append(Boolean)

Acrescenta a representação de cadeia de caracteres de um valor booliano especificado a essa instância.

Append(Byte)

Acrescenta a representação de cadeia de caracteres de um inteiro sem sinal de 8 bits especificado a essa instância.

Append(Char)

Acrescenta a representação de cadeia de caracteres de um objeto Char especificado a essa instância.

Append(Char*, Int32)

Acrescenta uma matriz de caracteres Unicode começando em um endereço especificado para essa instância.

Append(Char, Int32)

Acrescenta um número especificado de cópias da representação de cadeia de caracteres de um caractere Unicode a essa instância.

Append(Char[])

Acrescenta a representação de cadeia de caracteres dos caracteres Unicode em uma matriz especificada a essa instância.

Append(Char[], Int32, Int32)

Acrescenta a representação de cadeia de caracteres de uma subarray especificada de caracteres Unicode a essa instância.

Append(Decimal)

Acrescenta a representação de cadeia de caracteres de um número decimal especificado a essa instância.

Append(Double)

Acrescenta a representação de cadeia de caracteres de um número de ponto flutuante de precisão dupla especificado a essa instância.

Append(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

Acrescenta a cadeia de caracteres interpolada especificada a essa instância usando o formato especificado.

Append(Int16)

Acrescenta a representação de cadeia de caracteres de um inteiro com sinal de 16 bits especificado a essa instância.

Append(Int32)

Acrescenta a representação de cadeia de caracteres de um inteiro com sinal de 32 bits especificado a essa instância.

Append(Int64)

Acrescenta a representação de cadeia de caracteres de um inteiro com sinal de 64 bits especificado a essa instância.

Append(Object)

Acrescenta a representação de cadeia de caracteres de um objeto especificado a essa instância.

Append(ReadOnlyMemory<Char>)

Acrescenta a representação de cadeia de caracteres de uma região de memória de caractere somente leitura especificada a essa instância.

Append(ReadOnlySpan<Char>)

Acrescenta a representação de cadeia de caracteres de um intervalo de caracteres somente leitura especificado a essa instância.

Append(SByte)

Acrescenta a representação de cadeia de caracteres de um inteiro com sinal de 8 bits especificado a essa instância.

Append(Single)

Acrescenta a representação de cadeia de caracteres de um número de ponto flutuante de precisão única especificado a essa instância.

Append(String)

Acrescenta uma cópia da cadeia de caracteres especificada a essa instância.

Append(String, Int32, Int32)

Acrescenta uma cópia de uma subcadeia de caracteres especificada a essa instância.

Append(StringBuilder)

Acrescenta a representação de cadeia de caracteres de um construtor de cadeias de caracteres especificado a essa instância.

Append(StringBuilder, Int32, Int32)

Acrescenta uma cópia de uma subcadeia de caracteres em um construtor de cadeias de caracteres especificado a essa instância.

Append(StringBuilder+AppendInterpolatedStringHandler)

Acrescenta a cadeia de caracteres interpolada especificada a essa instância.

Append(UInt16)

Acrescenta a representação de cadeia de caracteres de um inteiro sem sinal de 16 bits especificado a essa instância.

Append(UInt32)

Acrescenta a representação de cadeia de caracteres de um inteiro sem sinal de 32 bits especificado a essa instância.

Append(UInt64)

Acrescenta a representação de cadeia de caracteres de um inteiro sem sinal de 64 bits especificado a essa instância.

AppendFormat(IFormatProvider, CompositeFormat, Object[])

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de qualquer um dos argumentos usando um provedor de formato especificado.

AppendFormat(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de qualquer um dos argumentos usando um provedor de formato especificado.

AppendFormat(IFormatProvider, String, Object)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de um único argumento usando um provedor de formato especificado.

AppendFormat(IFormatProvider, String, Object, Object)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de qualquer um dos dois argumentos usando um provedor de formato especificado.

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

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de qualquer um dos três argumentos usando um provedor de formato especificado.

AppendFormat(IFormatProvider, String, Object[])

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de um argumento correspondente em uma matriz de parâmetros usando um provedor de formato especificado.

AppendFormat(IFormatProvider, String, ReadOnlySpan<Object>)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de um argumento correspondente em um intervalo de parâmetros usando um provedor de formato especificado.

AppendFormat(String, Object)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de um único argumento.

AppendFormat(String, Object, Object)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de um dos dois argumentos.

AppendFormat(String, Object, Object, Object)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de qualquer um dos três argumentos.

AppendFormat(String, Object[])

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de um argumento correspondente em uma matriz de parâmetros.

AppendFormat(String, ReadOnlySpan<Object>)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de um argumento correspondente em um intervalo de parâmetros.

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

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de qualquer um dos argumentos usando um provedor de formato especificado.

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

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de qualquer um dos argumentos usando um provedor de formato especificado.

AppendFormat<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Acrescenta a cadeia de caracteres retornada processando uma cadeia de caracteres de formato composto, que contém zero ou mais itens de formato, a esta instância. Cada item de formato é substituído pela representação de cadeia de caracteres de qualquer um dos argumentos usando um provedor de formato especificado.

AppendJoin(Char, Object[])

Concatena as representações de cadeia de caracteres dos elementos na matriz de objetos fornecida, usando o separador de caracteres especificado entre cada membro e acrescenta o resultado à instância atual do construtor de cadeias de caracteres.

AppendJoin(Char, ReadOnlySpan<Object>)

Concatena as representações de cadeia de caracteres dos elementos no intervalo fornecido de objetos, usando o separador de caracteres especificado entre cada membro e acrescenta o resultado à instância atual do construtor de cadeias de caracteres.

AppendJoin(Char, ReadOnlySpan<String>)

Concatena as cadeias de caracteres do intervalo fornecido, usando o separador de caracteres especificado entre cada cadeia de caracteres e acrescenta o resultado à instância atual do construtor de cadeias de caracteres.

AppendJoin(Char, String[])

Concatena as cadeias de caracteres da matriz fornecida, usando o separador de caracteres especificado entre cada cadeia de caracteres e acrescenta o resultado à instância atual do construtor de cadeias de caracteres.

AppendJoin(String, Object[])

Concatena as representações de cadeia de caracteres dos elementos na matriz de objetos fornecida, usando o separador especificado entre cada membro e acrescenta o resultado à instância atual do construtor de cadeias de caracteres.

AppendJoin(String, ReadOnlySpan<Object>)

Concatena as representações de cadeia de caracteres dos elementos no intervalo fornecido de objetos, usando o separador especificado entre cada membro e acrescenta o resultado à instância atual do construtor de cadeias de caracteres.

AppendJoin(String, ReadOnlySpan<String>)

Concatena as cadeias de caracteres do intervalo fornecido, usando o separador especificado entre cada cadeia de caracteres e acrescenta o resultado à instância atual do construtor de cadeias de caracteres.

AppendJoin(String, String[])

Concatena as cadeias de caracteres da matriz fornecida, usando o separador especificado entre cada cadeia de caracteres e acrescenta o resultado à instância atual do construtor de cadeias de caracteres.

AppendJoin<T>(Char, IEnumerable<T>)

Concatena e acrescenta os membros de uma coleção, usando o separador de caracteres especificado entre cada membro.

AppendJoin<T>(String, IEnumerable<T>)

Concatena e acrescenta os membros de uma coleção, usando o separador especificado entre cada membro.

AppendLine()

Acrescenta o terminador de linha padrão ao final do objeto StringBuilder atual.

AppendLine(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

Acrescenta a cadeia de caracteres interpolada especificada usando o formato especificado, seguido pelo terminador de linha padrão, até o final do objeto StringBuilder atual.

AppendLine(String)

Acrescenta uma cópia da cadeia de caracteres especificada seguida pelo terminador de linha padrão ao final do objeto StringBuilder atual.

AppendLine(StringBuilder+AppendInterpolatedStringHandler)

Acrescenta a cadeia de caracteres interpolada especificada seguida pelo terminador de linha padrão ao final do objeto StringBuilder atual.

Clear()

Remove todos os caracteres da instância de StringBuilder atual.

CopyTo(Int32, Char[], Int32, Int32)

Copia os caracteres de um segmento especificado dessa instância para um segmento especificado de uma matriz de Char de destino.

CopyTo(Int32, Span<Char>, Int32)

Copia os caracteres de um segmento especificado dessa instância para um intervalo de Char de destino.

EnsureCapacity(Int32)

Garante que a capacidade dessa instância de StringBuilder seja pelo menos o valor especificado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Equals(ReadOnlySpan<Char>)

Retorna um valor que indica se os caracteres nesta instância são iguais aos caracteres em um intervalo de caracteres somente leitura especificado.

Equals(StringBuilder)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

GetChunks()

Retorna um objeto que pode ser usado para iterar por meio dos blocos de caracteres representados em um ReadOnlyMemory<Char> criado a partir desta instância StringBuilder.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Insert(Int32, Boolean)

Insere a representação de cadeia de caracteres de um valor booliano nessa instância na posição de caractere especificada.

Insert(Int32, Byte)

Insere a representação de cadeia de caracteres de um inteiro sem sinal de 8 bits especificado nesta instância na posição de caractere especificada.

Insert(Int32, Char)

Insere a representação de cadeia de caracteres de um caractere Unicode especificado nessa instância na posição de caractere especificada.

Insert(Int32, Char[])

Insere a representação de cadeia de caracteres de uma matriz especificada de caracteres Unicode nessa instância na posição de caractere especificada.

Insert(Int32, Char[], Int32, Int32)

Insere a representação de cadeia de caracteres de uma subarray especificada de caracteres Unicode nessa instância na posição de caractere especificada.

Insert(Int32, Decimal)

Insere a representação de cadeia de caracteres de um número decimal nessa instância na posição de caractere especificada.

Insert(Int32, Double)

Insere a representação de cadeia de caracteres de um número de ponto flutuante de precisão dupla nessa instância na posição de caractere especificada.

Insert(Int32, Int16)

Insere a representação de cadeia de caracteres de um inteiro com sinal de 16 bits especificado nesta instância na posição de caractere especificada.

Insert(Int32, Int32)

Insere a representação de cadeia de caracteres de um inteiro com sinal de 32 bits especificado nesta instância na posição de caractere especificada.

Insert(Int32, Int64)

Insere a representação de cadeia de caracteres de um inteiro com sinal de 64 bits nessa instância na posição de caractere especificada.

Insert(Int32, Object)

Insere a representação de cadeia de caracteres de um objeto nessa instância na posição de caractere especificada.

Insert(Int32, ReadOnlySpan<Char>)

Insere a sequência de caracteres nessa instância na posição de caractere especificada.

Insert(Int32, SByte)

Insere a representação de cadeia de caracteres de um inteiro com sinal de 8 bits especificado nesta instância na posição de caractere especificada.

Insert(Int32, Single)

Insere a representação de cadeia de caracteres de um número de ponto flutuante de precisão única nessa instância na posição de caractere especificada.

Insert(Int32, String)

Insere uma cadeia de caracteres nessa instância na posição de caractere especificada.

Insert(Int32, String, Int32)

Insere uma ou mais cópias de uma cadeia de caracteres especificada nessa instância na posição de caractere especificada.

Insert(Int32, UInt16)

Insere a representação de cadeia de caracteres de um inteiro sem sinal de 16 bits nessa instância na posição de caractere especificada.

Insert(Int32, UInt32)

Insere a representação de cadeia de caracteres de um inteiro sem sinal de 32 bits nessa instância na posição de caractere especificada.

Insert(Int32, UInt64)

Insere a representação de cadeia de caracteres de um inteiro sem sinal de 64 bits nessa instância na posição de caractere especificada.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
Remove(Int32, Int32)

Remove o intervalo de caracteres especificado dessa instância.

Replace(Char, Char)

Substitui todas as ocorrências de um caractere especificado nesta instância por outro caractere especificado.

Replace(Char, Char, Int32, Int32)

Substitui, dentro de uma subcadeia de caracteres dessa instância, todas as ocorrências de um caractere especificado por outro caractere especificado.

Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Substitui todas as instâncias de um intervalo de caracteres somente leitura por outra neste construtor.

Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32, Int32)

Substitui todas as instâncias de um intervalo de caracteres somente leitura por outra em parte desse construtor.

Replace(String, String)

Substitui todas as ocorrências de uma cadeia de caracteres especificada nesta instância por outra cadeia de caracteres especificada.

Replace(String, String, Int32, Int32)

Substitui, dentro de uma subcadeia de caracteres dessa instância, todas as ocorrências de uma cadeia de caracteres especificada por outra cadeia de caracteres especificada.

ToString()

Converte o valor dessa instância em um String.

ToString(Int32, Int32)

Converte o valor de uma subcadeia de caracteres dessa instância em um String.

Implantações explícitas de interface

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Popula um objeto SerializationInfo com os dados necessários para desserializar o objeto StringBuilder atual.

Métodos de Extensão

Append(StringBuilder, StringSegment)

Adicione o StringSegment especificado ao StringBuilder.

AppendRedacted(StringBuilder, Redactor, ReadOnlySpan<Char>)

Redigir dados potencialmente confidenciais e acrescentá-los a uma instância de StringBuilder.

AppendRedacted(StringBuilder, Redactor, String)

Redigir dados potencialmente confidenciais e acrescentá-los a uma instância de StringBuilder.

Aplica-se a

Confira também