Compartir a través de


StringBuilder Clase

Definición

Representa una cadena mutable de caracteres. Esta clase no se puede heredar.

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
Herencia
StringBuilder
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo llamar a muchos de los métodos definidos por la clase 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

Comentarios

Para obtener más información sobre esta API, consulte comentarios de API complementarias para StringBuilder.

Notas a los autores de las llamadas

En .NET Core y en .NET Framework 4.0 y versiones posteriores, al crear instancias del objeto StringBuilder llamando al constructor StringBuilder(Int32, Int32), tanto la longitud como la capacidad de la instancia de StringBuilder pueden crecer más allá del valor de su propiedad MaxCapacity. Esto puede ocurrir especialmente cuando se llama a los métodos Append(String) y AppendFormat(String, Object) para anexar cadenas pequeñas.

Constructores

StringBuilder()

Inicializa una nueva instancia de la clase StringBuilder.

StringBuilder(Int32)

Inicializa una nueva instancia de la clase StringBuilder utilizando la capacidad especificada.

StringBuilder(Int32, Int32)

Inicializa una nueva instancia de la clase StringBuilder que comienza con una capacidad especificada y puede crecer hasta un máximo especificado.

StringBuilder(String)

Inicializa una nueva instancia de la clase StringBuilder mediante la cadena especificada.

StringBuilder(String, Int32)

Inicializa una nueva instancia de la clase StringBuilder utilizando la cadena y la capacidad especificadas.

StringBuilder(String, Int32, Int32, Int32)

Inicializa una nueva instancia de la clase StringBuilder a partir de la subcadena y la capacidad especificadas.

Propiedades

Capacity

Obtiene o establece el número máximo de caracteres que se pueden contener en la memoria asignada por la instancia actual.

Chars[Int32]

Obtiene o establece el carácter en la posición de carácter especificada en esta instancia.

Length

Obtiene o establece la longitud del objeto StringBuilder actual.

MaxCapacity

Obtiene la capacidad máxima de esta instancia.

Métodos

Append(Boolean)

Anexa la representación de cadena de un valor booleano especificado a esta instancia.

Append(Byte)

Anexa la representación de cadena de un entero de 8 bits sin signo especificado a esta instancia.

Append(Char)

Anexa la representación de cadena de un objeto Char especificado a esta instancia.

Append(Char*, Int32)

Anexa una matriz de caracteres Unicode a partir de una dirección especificada a esta instancia.

Append(Char, Int32)

Anexa un número especificado de copias de la representación de cadena de un carácter Unicode a esta instancia.

Append(Char[])

Anexa la representación de cadena de los caracteres Unicode de una matriz especificada a esta instancia.

Append(Char[], Int32, Int32)

Anexa la representación de cadena de una subbarray especificada de caracteres Unicode a esta instancia.

Append(Decimal)

Anexa la representación de cadena de un número decimal especificado a esta instancia.

Append(Double)

Anexa la representación de cadena de un número de punto flotante de precisión doble especificado a esta instancia.

Append(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

Anexa la cadena interpolada especificada a esta instancia mediante el formato especificado.

Append(Int16)

Anexa la representación de cadena de un entero de 16 bits con signo especificado a esta instancia.

Append(Int32)

Anexa la representación de cadena de un entero de 32 bits con signo especificado a esta instancia.

Append(Int64)

Anexa la representación de cadena de un entero de 64 bits con signo especificado a esta instancia.

Append(Object)

Anexa la representación de cadena de un objeto especificado a esta instancia.

Append(ReadOnlyMemory<Char>)

Anexa la representación de cadena de una región de memoria de caracteres de solo lectura especificada a esta instancia.

Append(ReadOnlySpan<Char>)

Anexa la representación de cadena de un intervalo de caracteres de solo lectura especificado a esta instancia.

Append(SByte)

Anexa la representación de cadena de un entero de 8 bits con signo especificado a esta instancia.

Append(Single)

Anexa la representación de cadena de un número de punto flotante de precisión sencilla especificado a esta instancia.

Append(String)

Anexa una copia de la cadena especificada a esta instancia.

Append(String, Int32, Int32)

Anexa una copia de una subcadena especificada a esta instancia.

Append(StringBuilder)

Anexa la representación de cadena de un generador de cadenas especificado a esta instancia.

Append(StringBuilder, Int32, Int32)

Anexa una copia de una subcadena dentro de un generador de cadenas especificado a esta instancia.

Append(StringBuilder+AppendInterpolatedStringHandler)

Anexa la cadena interpolada especificada a esta instancia.

Append(UInt16)

Anexa la representación de cadena de un entero de 16 bits sin signo especificado a esta instancia.

Append(UInt32)

Anexa la representación de cadena de un entero de 32 bits sin signo especificado a esta instancia.

Append(UInt64)

Anexa la representación de cadena de un entero de 64 bits sin signo especificado a esta instancia.

AppendFormat(IFormatProvider, CompositeFormat, Object[])

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los argumentos mediante un proveedor de formato especificado.

AppendFormat(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los argumentos mediante un proveedor de formato especificado.

AppendFormat(IFormatProvider, String, Object)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de un único argumento mediante un proveedor de formato especificado.

AppendFormat(IFormatProvider, String, Object, Object)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los dos argumentos mediante un proveedor de formato especificado.

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

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los tres argumentos mediante un proveedor de formato especificado.

AppendFormat(IFormatProvider, String, Object[])

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de un argumento correspondiente en una matriz de parámetros mediante un proveedor de formato especificado.

AppendFormat(IFormatProvider, String, ReadOnlySpan<Object>)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de un argumento correspondiente en un intervalo de parámetros mediante un proveedor de formato especificado.

AppendFormat(String, Object)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de un único argumento.

AppendFormat(String, Object, Object)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los dos argumentos.

AppendFormat(String, Object, Object, Object)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los tres argumentos.

AppendFormat(String, Object[])

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de un argumento correspondiente en una matriz de parámetros.

AppendFormat(String, ReadOnlySpan<Object>)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de un argumento correspondiente en un intervalo de parámetros.

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

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los argumentos mediante un proveedor de formato especificado.

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

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los argumentos mediante un proveedor de formato especificado.

AppendFormat<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Anexa la cadena devuelta mediante el procesamiento de una cadena de formato compuesto, que contiene cero o más elementos de formato, a esta instancia. Cada elemento de formato se reemplaza por la representación de cadena de cualquiera de los argumentos mediante un proveedor de formato especificado.

AppendJoin(Char, Object[])

Concatena las representaciones de cadena de los elementos de la matriz de objetos proporcionadas, utilizando el separador char especificado entre cada miembro y, a continuación, anexa el resultado a la instancia actual del generador de cadenas.

AppendJoin(Char, ReadOnlySpan<Object>)

Concatena las representaciones de cadena de los elementos del intervalo de objetos proporcionados, utilizando el separador char especificado entre cada miembro y, a continuación, anexa el resultado a la instancia actual del generador de cadenas.

AppendJoin(Char, ReadOnlySpan<String>)

Concatena las cadenas del intervalo proporcionado, utilizando el separador de caracteres especificado entre cada cadena y, a continuación, anexa el resultado a la instancia actual del generador de cadenas.

AppendJoin(Char, String[])

Concatena las cadenas de la matriz proporcionada, utilizando el separador de caracteres especificado entre cada cadena y, a continuación, anexa el resultado a la instancia actual del generador de cadenas.

AppendJoin(String, Object[])

Concatena las representaciones de cadena de los elementos de la matriz de objetos proporcionadas, utilizando el separador especificado entre cada miembro y, a continuación, anexa el resultado a la instancia actual del generador de cadenas.

AppendJoin(String, ReadOnlySpan<Object>)

Concatena las representaciones de cadena de los elementos del intervalo de objetos proporcionados, utilizando el separador especificado entre cada miembro y, a continuación, anexa el resultado a la instancia actual del generador de cadenas.

AppendJoin(String, ReadOnlySpan<String>)

Concatena las cadenas del intervalo proporcionado, utilizando el separador especificado entre cada cadena y, a continuación, anexa el resultado a la instancia actual del generador de cadenas.

AppendJoin(String, String[])

Concatena las cadenas de la matriz proporcionada, utilizando el separador especificado entre cada cadena y, a continuación, anexa el resultado a la instancia actual del generador de cadenas.

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

Concatena y anexa los miembros de una colección mediante el separador de caracteres especificado entre cada miembro.

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

Concatena y anexa los miembros de una colección mediante el separador especificado entre cada miembro.

AppendLine()

Anexa el terminador de línea predeterminado al final del objeto StringBuilder actual.

AppendLine(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

Anexa la cadena interpolada especificada con el formato especificado, seguido del terminador de línea predeterminado, al final del objeto StringBuilder actual.

AppendLine(String)

Anexa una copia de la cadena especificada seguida del terminador de línea predeterminado al final del objeto StringBuilder actual.

AppendLine(StringBuilder+AppendInterpolatedStringHandler)

Anexa la cadena interpolada especificada seguida del terminador de línea predeterminado al final del objeto StringBuilder actual.

Clear()

Quita todos los caracteres de la instancia de StringBuilder actual.

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

Copia los caracteres de un segmento especificado de esta instancia en un segmento especificado de una matriz de Char de destino.

CopyTo(Int32, Span<Char>, Int32)

Copia los caracteres de un segmento especificado de esta instancia en un intervalo de Char de destino.

EnsureCapacity(Int32)

Garantiza que la capacidad de esta instancia de StringBuilder sea al menos el valor especificado.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

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

Devuelve un valor que indica si los caracteres de esta instancia son iguales a los caracteres de un intervalo de caracteres de solo lectura especificado.

Equals(StringBuilder)

Devuelve un valor que indica si esta instancia es igual a un objeto especificado.

GetChunks()

Devuelve un objeto que se puede usar para recorrer en iteración los fragmentos de caracteres representados en un ReadOnlyMemory<Char> creado a partir de esta instancia de StringBuilder.

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Insert(Int32, Boolean)

Inserta la representación de cadena de un valor booleano en esta instancia en la posición de carácter especificada.

Insert(Int32, Byte)

Inserta la representación de cadena de un entero de 8 bits sin signo especificado en esta instancia en la posición de carácter especificada.

Insert(Int32, Char)

Inserta la representación de cadena de un carácter Unicode especificado en esta instancia en la posición de carácter especificada.

Insert(Int32, Char[])

Inserta la representación de cadena de una matriz especificada de caracteres Unicode en esta instancia en la posición de carácter especificada.

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

Inserta la representación de cadena de una subbarray especificada de caracteres Unicode en esta instancia en la posición de carácter especificada.

Insert(Int32, Decimal)

Inserta la representación de cadena de un número decimal en esta instancia en la posición de carácter especificada.

Insert(Int32, Double)

Inserta la representación de cadena de un número de punto flotante de precisión doble en esta instancia en la posición de carácter especificada.

Insert(Int32, Int16)

Inserta la representación de cadena de un entero con signo de 16 bits especificado en esta instancia en la posición de carácter especificada.

Insert(Int32, Int32)

Inserta la representación de cadena de un entero de 32 bits con signo especificado en esta instancia en la posición de carácter especificada.

Insert(Int32, Int64)

Inserta la representación de cadena de un entero con signo de 64 bits en esta instancia en la posición de carácter especificada.

Insert(Int32, Object)

Inserta la representación de cadena de un objeto en esta instancia en la posición de carácter especificada.

Insert(Int32, ReadOnlySpan<Char>)

Inserta la secuencia de caracteres en esta instancia en la posición de carácter especificada.

Insert(Int32, SByte)

Inserta la representación de cadena de un entero con signo de 8 bits especificado en esta instancia en la posición de carácter especificada.

Insert(Int32, Single)

Inserta la representación de cadena de un número de punto flotante de precisión sencilla en esta instancia en la posición de carácter especificada.

Insert(Int32, String)

Inserta una cadena en esta instancia en la posición de carácter especificada.

Insert(Int32, String, Int32)

Inserta una o varias copias de una cadena especificada en esta instancia en la posición de carácter especificada.

Insert(Int32, UInt16)

Inserta la representación de cadena de un entero de 16 bits sin signo en esta instancia en la posición de carácter especificada.

Insert(Int32, UInt32)

Inserta la representación de cadena de un entero de 32 bits sin signo en esta instancia en la posición de carácter especificada.

Insert(Int32, UInt64)

Inserta la representación de cadena de un entero de 64 bits sin signo en esta instancia en la posición de carácter especificada.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
Remove(Int32, Int32)

Quita el intervalo de caracteres especificado de esta instancia.

Replace(Char, Char)

Reemplaza todas las apariciones de un carácter especificado en esta instancia por otro carácter especificado.

Replace(Char, Char, Int32, Int32)

Reemplaza, dentro de una subcadena de esta instancia, todas las apariciones de un carácter especificado por otro carácter especificado.

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

Reemplaza todas las instancias de un intervalo de caracteres de solo lectura por otro en este generador.

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

Reemplaza todas las instancias de un intervalo de caracteres de solo lectura por otro en parte de este generador.

Replace(String, String)

Reemplaza todas las apariciones de una cadena especificada en esta instancia por otra cadena especificada.

Replace(String, String, Int32, Int32)

Reemplaza, dentro de una subcadena de esta instancia, todas las apariciones de una cadena especificada por otra cadena especificada.

ToString()

Convierte el valor de esta instancia en un String.

ToString(Int32, Int32)

Convierte el valor de una subcadena de esta instancia en un String.

Implementaciones de interfaz explícitas

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Rellena un objeto SerializationInfo con los datos necesarios para deserializar el objeto StringBuilder actual.

Métodos de extensión

Append(StringBuilder, StringSegment)

Agregue el StringSegment especificado al StringBuilder.

AppendRedacted(StringBuilder, Redactor, ReadOnlySpan<Char>)

Redacta datos potencialmente confidenciales y los anexa a una instancia de StringBuilder.

AppendRedacted(StringBuilder, Redactor, String)

Redacta datos potencialmente confidenciales y los anexa a una instancia de StringBuilder.

Se aplica a

Consulte también