Sdílet prostřednictvím


StringBuilder Třída

Definice

Představuje proměnlivý řetězec znaků. Tuto třídu nelze zdědit.

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
Dědičnost
StringBuilder
Atributy
Implementuje

Příklady

Následující příklad ukazuje, jak volat mnoho metod definovaných StringBuilder třídy.

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

Poznámky

Další informace o tomto rozhraní API naleznete v tématu Doplňkové poznámky rozhraní API pro StringBuilder.

Poznámky pro volající

V rozhraní .NET Core a v rozhraní .NET Framework 4.0 a novějších verzích při vytváření instance objektu StringBuilder zavoláním konstruktoru StringBuilder(Int32, Int32) může délka i kapacita instance StringBuilder růst nad hodnotu jeho MaxCapacity vlastnosti. K tomu může dojít zejména při volání Append(String) a AppendFormat(String, Object) metod pro připojení malých řetězců.

Konstruktory

StringBuilder()

Inicializuje novou instanci StringBuilder třídy.

StringBuilder(Int32)

Inicializuje novou instanci StringBuilder třídy pomocí zadané kapacity.

StringBuilder(Int32, Int32)

Inicializuje novou instanci StringBuilder třídy, která začíná zadanou kapacitou a může růst na zadané maximum.

StringBuilder(String)

Inicializuje novou instanci StringBuilder třídy pomocí zadaného řetězce.

StringBuilder(String, Int32)

Inicializuje novou instanci StringBuilder třídy pomocí zadaného řetězce a kapacity.

StringBuilder(String, Int32, Int32, Int32)

Inicializuje novou instanci StringBuilder třídy ze zadané podřetěděce a kapacity.

Vlastnosti

Capacity

Získá nebo nastaví maximální počet znaků, které mohou být obsaženy v paměti přidělené aktuální instance.

Chars[Int32]

Získá nebo nastaví znak na určené pozici znaku v této instanci.

Length

Získá nebo nastaví délku aktuálního StringBuilder objektu.

MaxCapacity

Získá maximální kapacitu této instance.

Metody

Append(Boolean)

Připojí řetězcovou reprezentaci zadané logické hodnoty k této instanci.

Append(Byte)

Připojí řetězcovou reprezentaci zadaného 8bitového celého čísla bez znaménka k této instanci.

Append(Char)

Připojí řetězcovou reprezentaci zadaného objektu Char k této instanci.

Append(Char*, Int32)

Připojí k této instanci pole znaků Unicode začínající zadanou adresou.

Append(Char, Int32)

Připojí k této instanci zadaný počet kopií řetězcové reprezentace znaku Unicode.

Append(Char[])

Připojí k této instanci řetězcovou reprezentaci znaků Unicode v zadaném poli.

Append(Char[], Int32, Int32)

Připojí k této instanci řetězcovou reprezentaci zadaného podarray znaků Unicode.

Append(Decimal)

Připojí k této instanci řetězcovou reprezentaci zadaného desetinného čísla.

Append(Double)

Připojí k této instanci řetězcovou reprezentaci zadaného čísla s plovoucí desetinnou čárkou s dvojitou přesností.

Append(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

Připojí zadaný interpolovaný řetězec k této instanci pomocí zadaného formátu.

Append(Int16)

Připojí k této instanci řetězcovou reprezentaci zadaného 16bitového celého čísla se znaky signed.

Append(Int32)

Připojí k této instanci řetězcovou reprezentaci zadaného 32bitového celého čísla se znaky signed.

Append(Int64)

Připojí k této instanci řetězcovou reprezentaci zadaného 64bitového celého čísla se znaky signed.

Append(Object)

Připojí k této instanci řetězcovou reprezentaci zadaného objektu.

Append(ReadOnlyMemory<Char>)

Připojí k této instanci řetězcovou reprezentaci zadané oblasti paměti jen pro čtení.

Append(ReadOnlySpan<Char>)

Připojí k této instanci řetězcovou reprezentaci zadaného rozsahu znaků jen pro čtení.

Append(SByte)

Připojí k této instanci řetězcovou reprezentaci zadaného 8bitového celého čísla se znaky signed.

Append(Single)

Připojí k této instanci řetězcovou reprezentaci zadaného čísla s plovoucí desetinnou čárkou s jednoduchou přesností.

Append(String)

Připojí kopii zadaného řetězce k této instanci.

Append(String, Int32, Int32)

Připojí kopii zadaného podřetětěce k této instanci.

Append(StringBuilder)

Připojí k této instanci řetězcovou reprezentaci zadaného tvůrce řetězců.

Append(StringBuilder, Int32, Int32)

Připojí kopii podřetězce v zadaném tvůrci řetězců k této instanci.

Append(StringBuilder+AppendInterpolatedStringHandler)

Připojí k této instanci zadaný interpolovaný řetězec.

Append(UInt16)

Připojí řetězcovou reprezentaci zadaného 16bitového celého čísla bez znaménka k této instanci.

Append(UInt32)

Připojí řetězcovou reprezentaci zadaného 32bitového celého čísla bez znaménka k této instanci.

Append(UInt64)

Připojí řetězcové vyjádření zadaného 64bitového celého čísla bez znaménka k této instanci.

AppendFormat(IFormatProvider, CompositeFormat, Object[])

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací libovolného argumentu pomocí zadaného zprostředkovatele formátu.

AppendFormat(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací libovolného argumentu pomocí zadaného zprostředkovatele formátu.

AppendFormat(IFormatProvider, String, Object)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací jednoho argumentu pomocí zadaného zprostředkovatele formátu.

AppendFormat(IFormatProvider, String, Object, Object)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu se nahradí řetězcovou reprezentací některého ze dvou argumentů pomocí zadaného zprostředkovatele formátu.

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

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu se nahradí řetězcovou reprezentací některého ze tří argumentů pomocí zadaného zprostředkovatele formátu.

AppendFormat(IFormatProvider, String, Object[])

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací odpovídajícího argumentu v matici parametrů pomocí zadaného zprostředkovatele formátu.

AppendFormat(IFormatProvider, String, ReadOnlySpan<Object>)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu se nahradí řetězcovou reprezentací odpovídajícího argumentu v rozsahu parametru pomocí zadaného zprostředkovatele formátu.

AppendFormat(String, Object)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací jednoho argumentu.

AppendFormat(String, Object, Object)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací některého ze dvou argumentů.

AppendFormat(String, Object, Object, Object)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací některého ze tří argumentů.

AppendFormat(String, Object[])

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací odpovídajícího argumentu v poli parametrů.

AppendFormat(String, ReadOnlySpan<Object>)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací odpovídajícího argumentu v rozsahu parametru.

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

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací libovolného argumentu pomocí zadaného zprostředkovatele formátu.

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

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací libovolného argumentu pomocí zadaného zprostředkovatele formátu.

AppendFormat<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Připojí řetězec vrácený zpracováním řetězce složeného formátu, který obsahuje nula nebo více položek formátu, do této instance. Každá položka formátu je nahrazena řetězcovou reprezentací libovolného argumentu pomocí zadaného zprostředkovatele formátu.

AppendJoin(Char, Object[])

Zřetězí řetězcové reprezentace prvků v zadaném poli objektů pomocí zadaného oddělovače znaků mezi jednotlivými členy a pak připojí výsledek k aktuální instanci tvůrce řetězců.

AppendJoin(Char, ReadOnlySpan<Object>)

Zřetězí řetězcové reprezentace prvků v zadaném rozsahu objektů pomocí zadaného oddělovače znaků mezi jednotlivými členy a pak připojí výsledek k aktuální instanci tvůrce řetězců.

AppendJoin(Char, ReadOnlySpan<String>)

Zřetězí řetězce zadaného rozsahu pomocí zadaného oddělovače znaků mezi každým řetězcem a pak připojí výsledek k aktuální instanci tvůrce řetězců.

AppendJoin(Char, String[])

Zřetězí řetězce zadaného pole pomocí zadaného oddělovače znaků mezi každým řetězcem a pak připojí výsledek k aktuální instanci tvůrce řetězců.

AppendJoin(String, Object[])

Zřetězí řetězcové reprezentace prvků v zadaném poli objektů pomocí zadaného oddělovače mezi každým členem a pak připojí výsledek k aktuální instanci tvůrce řetězců.

AppendJoin(String, ReadOnlySpan<Object>)

Zřetězí řetězcové reprezentace prvků v zadaném rozsahu objektů pomocí zadaného oddělovače mezi jednotlivými členy a pak připojí výsledek k aktuální instanci tvůrce řetězců.

AppendJoin(String, ReadOnlySpan<String>)

Zřetězí řetězce zadaného rozsahu pomocí zadaného oddělovače mezi každým řetězcem a pak připojí výsledek k aktuální instanci tvůrce řetězců.

AppendJoin(String, String[])

Zřetězí řetězce zadaného pole pomocí zadaného oddělovače mezi každým řetězcem a pak připojí výsledek k aktuální instanci tvůrce řetězců.

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

Zřetězí a připojí členy kolekce pomocí zadaného oddělovače znaků mezi jednotlivými členy.

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

Zřetězí a připojí členy kolekce pomocí zadaného oddělovače mezi jednotlivými členy.

AppendLine()

Připojí výchozí ukončovací znak řádku na konec aktuálního objektu StringBuilder.

AppendLine(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

Připojí zadaný interpolovaný řetězec pomocí zadaného formátu následovaného výchozím ukončovacím znakem řádku na konec aktuálního objektu StringBuilder.

AppendLine(String)

Připojí kopii zadaného řetězce následovanou výchozím ukončovacím znakem řádku na konec aktuálního objektu StringBuilder.

AppendLine(StringBuilder+AppendInterpolatedStringHandler)

Připojí zadaný interpolovaný řetězec následovaný výchozím ukončovacím znakem řádku na konec aktuálního StringBuilder objektu.

Clear()

Odebere všechny znaky z aktuální instance StringBuilder.

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

Zkopíruje znaky ze zadaného segmentu této instance do zadaného segmentu cílového Char pole.

CopyTo(Int32, Span<Char>, Int32)

Zkopíruje znaky ze zadaného segmentu této instance do cílového Char rozsahu.

EnsureCapacity(Int32)

Zajišťuje, aby kapacita této instance StringBuilder byla alespoň zadaná hodnota.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
Equals(ReadOnlySpan<Char>)

Vrátí hodnotu určující, zda jsou znaky v této instanci rovny znakům v zadaném rozsahu znaků jen pro čtení.

Equals(StringBuilder)

Vrátí hodnotu určující, zda je tato instance rovna zadanému objektu.

GetChunks()

Vrátí objekt, který lze použít k iteraci bloků znaků reprezentovaných v ReadOnlyMemory<Char> vytvořeném z této instance StringBuilder.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
Insert(Int32, Boolean)

Vloží řetězcovou reprezentaci logické hodnoty do této instance na určené pozici znaku.

Insert(Int32, Byte)

Vloží řetězcovou reprezentaci zadaného 8bitového celého čísla bez znaménka do této instance na zadané pozici znaku.

Insert(Int32, Char)

Vloží řetězcovou reprezentaci zadaného znaku Unicode do této instance na určené pozici znaku.

Insert(Int32, Char[])

Vloží řetězcovou reprezentaci zadaného pole znaků Unicode do této instance na určené pozici znaku.

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

Vloží řetězcovou reprezentaci zadaného dílčího pole znaků Unicode do této instance na určené pozici znaku.

Insert(Int32, Decimal)

Vloží řetězcovou reprezentaci desetinného čísla do této instance na určené pozici znaku.

Insert(Int32, Double)

Vloží řetězcovou reprezentaci čísla s plovoucí desetinnou čárkou s dvojitou přesností do této instance na určené pozici znaku.

Insert(Int32, Int16)

Vloží řetězcovou reprezentaci zadaného 16bitového celého čísla se znaménkem do této instance na zadané pozici znaku.

Insert(Int32, Int32)

Vloží řetězcovou reprezentaci zadaného 32bitového znaménka do této instance na zadané pozici znaku.

Insert(Int32, Int64)

Vloží řetězcovou reprezentaci 64bitového celého čísla se znaménkem do této instance na zadané pozici znaku.

Insert(Int32, Object)

Vloží řetězcovou reprezentaci objektu do této instance na určené pozici znaku.

Insert(Int32, ReadOnlySpan<Char>)

Vloží posloupnost znaků do této instance na zadanou pozici znaku.

Insert(Int32, SByte)

Vloží řetězcovou reprezentaci zadaného 8bitového celého čísla se znaménkem do této instance na zadané pozici znaku.

Insert(Int32, Single)

Vloží řetězcovou reprezentaci čísla s plovoucí desetinnou čárkou s jednou přesností do této instance na určené pozici znaku.

Insert(Int32, String)

Vloží řetězec do této instance na zadanou pozici znaku.

Insert(Int32, String, Int32)

Vloží jednu nebo více kopií zadaného řetězce do této instance na určené pozici znaku.

Insert(Int32, UInt16)

Vloží řetězcovou reprezentaci 16bitového celého čísla bez znaménka do této instance na zadané pozici znaku.

Insert(Int32, UInt32)

Vloží řetězcovou reprezentaci 32bitového celého čísla bez znaménka do této instance na určené pozici znaku.

Insert(Int32, UInt64)

Vloží řetězcovou reprezentaci 64bitového celého čísla bez znaménka do této instance na určené pozici znaku.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Remove(Int32, Int32)

Odebere zadaný rozsah znaků z této instance.

Replace(Char, Char)

Nahradí všechny výskyty zadaného znaku v této instanci jiným zadaným znakem.

Replace(Char, Char, Int32, Int32)

Nahradí v rámci podřetětěce této instance všechny výskyty zadaného znaku jiným zadaným znakem.

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

Nahradí všechny instance jednoho rozsahu znaků jen pro čtení jiným v tomto tvůrci.

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

Nahradí všechny instance jednoho rozsahu znaků jen pro čtení jinou částí tohoto tvůrce.

Replace(String, String)

Nahradí všechny výskyty zadaného řetězce v této instanci jiným zadaným řetězcem.

Replace(String, String, Int32, Int32)

Nahradí v rámci podřetězce této instance všechny výskyty zadaného řetězce jiným zadaným řetězcem.

ToString()

Převede hodnotu této instance na String.

ToString(Int32, Int32)

Převede hodnotu podřetětěce této instance na String.

Explicitní implementace rozhraní

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Naplní SerializationInfo objekt dat potřebnými k deserializaci aktuálního StringBuilder objektu.

Metody rozšíření

Append(StringBuilder, StringSegment)

Přidejte danou StringSegment do StringBuilder.

AppendRedacted(StringBuilder, Redactor, ReadOnlySpan<Char>)

Redacts potenciálně citlivá data a připojí je k instanci StringBuilder.

AppendRedacted(StringBuilder, Redactor, String)

Redacts potenciálně citlivá data a připojí je k instanci StringBuilder.

Platí pro

Viz také