StringBuilder Klasa

Definicja

Reprezentuje modyfikowalny ciąg znaków. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
StringBuilder
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak wywołać wiele metod zdefiniowanych przez klasę 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

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz dodatkowe uwagi dotyczące interfejsu API dla elementu StringBuilder.

Uwagi dotyczące wywoływania

Na platformie .NET Core i w wersjach .NET Framework 4.0 i nowszych, podczas tworzenia wystąpienia StringBuilder obiektu przez wywołanie StringBuilder(Int32, Int32) konstruktora zarówno długość, jak i pojemność StringBuilder wystąpienia mogą wzrosnąć poza wartość jego MaxCapacity właściwości. Może to wystąpić szczególnie w przypadku wywołania Append(String) metod i AppendFormat(String, Object) w celu dołączenia małych ciągów.

Konstruktory

StringBuilder()

Inicjuje nowe wystąpienie klasy StringBuilder.

StringBuilder(Int32)

Inicjuje StringBuilder nowe wystąpienie klasy przy użyciu określonej pojemności.

StringBuilder(Int32, Int32)

Inicjuje StringBuilder nowe wystąpienie klasy rozpoczynającej się od określonej pojemności i może wzrosnąć do określonej wartości maksymalnej.

StringBuilder(String)

Inicjuje StringBuilder nowe wystąpienie klasy przy użyciu określonego ciągu.

StringBuilder(String, Int32)

Inicjuje StringBuilder nowe wystąpienie klasy przy użyciu określonego ciągu i pojemności.

StringBuilder(String, Int32, Int32, Int32)

Inicjuje StringBuilder nowe wystąpienie klasy z określonego podciągu i pojemności.

Właściwości

Capacity

Pobiera lub ustawia maksymalną liczbę znaków, które mogą być zawarte w pamięci przydzielonej przez bieżące wystąpienie.

Chars[Int32]

Pobiera lub ustawia znak w określonej pozycji znaku w tym wystąpieniu.

Length

Pobiera lub ustawia długość bieżącego StringBuilder obiektu.

MaxCapacity

Pobiera maksymalną pojemność tego wystąpienia.

Metody

Append(Boolean)

Dołącza do tego wystąpienia reprezentację ciągu określonej wartości logicznej.

Append(Byte)

Dołącza do tego wystąpienia reprezentację ciągu określonej 8-bitowej liczby całkowitej bez znaku.

Append(Char)

Dołącza do tego wystąpienia reprezentację ciągu określonego Char obiektu.

Append(Char*, Int32)

Dołącza tablicę znaków Unicode rozpoczynających się od określonego adresu do tego wystąpienia.

Append(Char, Int32)

Dołącza określoną liczbę kopii ciągu reprezentującego znak Unicode do tego wystąpienia.

Append(Char[])

Dołącza do tego wystąpienia reprezentację ciągów znaków Unicode w określonej tablicy.

Append(Char[], Int32, Int32)

Dołącza do tego wystąpienia reprezentację ciągu określonego podtablicy znaków Unicode.

Append(Decimal)

Dołącza do tego wystąpienia reprezentację ciągu określonej liczby dziesiętnej.

Append(Double)

Dołącza do tego wystąpienia reprezentację ciągu określonej liczby zmiennoprzecinkowa o podwójnej precyzji.

Append(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

Dołącza określony ciąg interpolowany do tego wystąpienia przy użyciu określonego formatu.

Append(Int16)

Dołącza do tego wystąpienia reprezentację ciągu określonej 16-bitowej liczby całkowitej ze znakiem.

Append(Int32)

Dołącza do tego wystąpienia reprezentację ciągu określonej 32-bitowej liczby całkowitej ze znakiem.

Append(Int64)

Dołącza do tego wystąpienia reprezentację ciągu określonej 64-bitowej liczby całkowitej ze znakiem.

Append(Object)

Dołącza do tego wystąpienia reprezentację ciągu określonego obiektu.

Append(ReadOnlyMemory<Char>)

Dołącza do tego wystąpienia reprezentację ciągu określonego regionu pamięci znaków tylko do odczytu.

Append(ReadOnlySpan<Char>)

Dołącza do tego wystąpienia reprezentację ciągu określonego zakresu znaków tylko do odczytu.

Append(SByte)

Dołącza do tego wystąpienia reprezentację ciągu określonej 8-bitowej liczby całkowitej ze znakiem.

Append(Single)

Dołącza do tego wystąpienia reprezentację ciągu określonej liczby zmiennoprzecinkowa o pojedynczej precyzji.

Append(String)

Dołącza kopię określonego ciągu do tego wystąpienia.

Append(String, Int32, Int32)

Dołącza kopię określonego podciągu do tego wystąpienia.

Append(StringBuilder)

Dołącza do tego wystąpienia reprezentację ciągu określonego konstruktora ciągów.

Append(StringBuilder, Int32, Int32)

Dołącza kopię podciągów w ramach określonego konstruktora ciągów do tego wystąpienia.

Append(StringBuilder+AppendInterpolatedStringHandler)

Dołącza określony ciąg interpolowany do tego wystąpienia.

Append(UInt16)

Dołącza do tego wystąpienia reprezentację ciągu określonej 16-bitowej liczby całkowitej bez znaku.

Append(UInt32)

Dołącza do tego wystąpienia reprezentację ciągu określonej 32-bitowej liczby całkowitej bez znaku.

Append(UInt64)

Dołącza do tego wystąpienia reprezentację ciągu określonej 64-bitowej liczby całkowitej bez znaku.

AppendFormat(IFormatProvider, CompositeFormat, Object[])

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu dowolnego argumentu przy użyciu określonego dostawcy formatu.

AppendFormat(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu dowolnego argumentu przy użyciu określonego dostawcy formatu.

AppendFormat(IFormatProvider, String, Object)

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu pojedynczego argumentu przy użyciu określonego dostawcy formatu.

AppendFormat(IFormatProvider, String, Object, Object)

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu jednego z dwóch argumentów przy użyciu określonego dostawcy formatu.

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

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu jednego z trzech argumentów przy użyciu określonego dostawcy formatu.

AppendFormat(IFormatProvider, String, Object[])

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu odpowiadającego argumentu w tablicy parametrów przy użyciu określonego dostawcy formatu.

AppendFormat(String, Object)

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu pojedynczego argumentu.

AppendFormat(String, Object, Object)

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu jednego z dwóch argumentów.

AppendFormat(String, Object, Object, Object)

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu jednego z trzech argumentów.

AppendFormat(String, Object[])

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu odpowiadającego argumentu w tablicy parametrów.

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

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu dowolnego argumentu przy użyciu określonego dostawcy formatu.

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

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu dowolnego argumentu przy użyciu określonego dostawcy formatu.

AppendFormat<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Dołącza ciąg zwracany przez przetwarzanie ciągu formatu złożonego, który zawiera zero lub więcej elementów formatu, do tego wystąpienia. Każdy element formatu jest zastępowany przez reprezentację ciągu dowolnego argumentu przy użyciu określonego dostawcy formatu.

AppendJoin(Char, Object[])

Łączy reprezentacje ciągów elementów w dostarczonej tablicy obiektów przy użyciu określonego separatora znaków między każdym elementem członkowskim, a następnie dołącza wynik do bieżącego wystąpienia konstruktora ciągów.

AppendJoin(Char, String[])

Łączy ciągi dostarczonej tablicy przy użyciu określonego separatora znaków między poszczególnymi ciągami, a następnie dołącza wynik do bieżącego wystąpienia konstruktora ciągów.

AppendJoin(String, Object[])

Łączy reprezentacje ciągów elementów w dostarczonej tablicy obiektów przy użyciu określonego separatora między każdym elementem członkowskim, a następnie dołącza wynik do bieżącego wystąpienia konstruktora ciągów.

AppendJoin(String, String[])

Łączy ciągi dostarczonej tablicy przy użyciu określonego separatora między poszczególnymi ciągami, a następnie dołącza wynik do bieżącego wystąpienia konstruktora ciągów.

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

Łączy i dołącza elementy członkowskie kolekcji przy użyciu określonego separatora znaków między każdym elementem członkowskim.

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

Łączy i dołącza elementy członkowskie kolekcji przy użyciu określonego separatora między poszczególnymi elementami członkowskimi.

AppendLine()

Dołącza domyślny terminator wiersza na końcu bieżącego StringBuilder obiektu.

AppendLine(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

Dołącza określony ciąg interpolowany przy użyciu określonego formatu, a następnie domyślny terminator wiersza na końcu bieżącego obiektu StringBuilder.

AppendLine(String)

Dołącza kopię określonego ciągu, po której następuje domyślny terminator wiersza na końcu bieżącego StringBuilder obiektu.

AppendLine(StringBuilder+AppendInterpolatedStringHandler)

Dołącza określony ciąg interpolowany, po którym następuje domyślny terminator wiersza na końcu bieżącego obiektu StringBuilder.

Clear()

Usuwa wszystkie znaki z bieżącego StringBuilder wystąpienia.

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

Kopiuje znaki z określonego segmentu tego wystąpienia do określonego segmentu tablicy docelowej Char .

CopyTo(Int32, Span<Char>, Int32)

Kopiuje znaki z określonego segmentu tego wystąpienia do zakresu docelowego Char .

EnsureCapacity(Int32)

Zapewnia, że pojemność tego wystąpienia programu StringBuilder jest co najmniej określoną wartością.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Equals(ReadOnlySpan<Char>)

Zwraca wartość wskazującą, czy znaki w tym wystąpieniu są równe znakom w określonym zakresie znaków tylko do odczytu.

Equals(StringBuilder)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

GetChunks()

Zwraca obiekt, który może służyć do iterowania fragmentów znaków reprezentowanych w utworzonym ReadOnlyMemory<Char> na podstawie tego StringBuilder wystąpienia.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
Insert(Int32, Boolean)

Wstawia reprezentację ciągu wartości logicznej w tym wystąpieniu w określonym położeniu znaku.

Insert(Int32, Byte)

Wstawia reprezentację ciągu określonej 8-bitowej liczby całkowitej bez znaku do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, Char)

Wstawia do tego wystąpienia reprezentację ciągu określonego znaku Unicode w określonym położeniu znaku.

Insert(Int32, Char[])

Wstawia reprezentację ciągu określonej tablicy znaków Unicode do tego wystąpienia w określonym położeniu znaku.

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

Wstawia reprezentację ciągu określonej podtablicy znaków Unicode do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, Decimal)

Wstawia reprezentację ciągu liczby dziesiętnej do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, Double)

Wstawia reprezentację ciągu liczby zmiennoprzecinkowe o podwójnej precyzji do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, Int16)

Wstawia reprezentację ciągu określonej 16-bitowej liczby całkowitej ze znakiem do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, Int32)

Wstawia reprezentację ciągu określonej 32-bitowej liczby całkowitej ze znakiem do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, Int64)

Wstawia reprezentację ciągu 64-bitowej liczby całkowitej ze znakiem do tego wystąpienia w określonej pozycji znaku.

Insert(Int32, Object)

Wstawia reprezentację ciągu obiektu w tym wystąpieniu w określonym położeniu znaku.

Insert(Int32, ReadOnlySpan<Char>)

Wstawia sekwencję znaków do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, SByte)

Wstawia reprezentację ciągu określonej 8-bitowej liczby całkowitej ze znakiem do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, Single)

Wstawia ciąg reprezentujący liczbę zmiennoprzecinkową o pojedynczej precyzji do tego wystąpienia w określonej pozycji znaku.

Insert(Int32, String)

Wstawia ciąg do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, String, Int32)

Wstawia co najmniej jedną kopię określonego ciągu do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, UInt16)

Wstawia do tego wystąpienia reprezentację ciągu 16-bitowej liczby całkowitej bez znaku w określonym położeniu znaku.

Insert(Int32, UInt32)

Wstawia do tego wystąpienia reprezentację ciągu 32-bitowej liczby całkowitej bez znaku w określonym położeniu znaku.

Insert(Int32, UInt64)

Wstawia do tego wystąpienia reprezentację ciągu 64-bitowej liczby całkowitej bez znaku w określonym położeniu znaku.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Remove(Int32, Int32)

Usuwa określony zakres znaków z tego wystąpienia.

Replace(Char, Char)

Zamienia wszystkie wystąpienia określonego znaku w tym wystąpieniu na inny określony znak.

Replace(Char, Char, Int32, Int32)

Zamienia w podciąg tego wystąpienia wszystkie wystąpienia określonego znaku na inny określony znak.

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

Reprezentuje modyfikowalny ciąg znaków. Klasa ta nie może być dziedziczona.

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

Reprezentuje modyfikowalny ciąg znaków. Klasa ta nie może być dziedziczona.

Replace(String, String)

Zamienia wszystkie wystąpienia określonego ciągu w tym wystąpieniu na inny określony ciąg.

Replace(String, String, Int32, Int32)

Zamienia w podciąg tego wystąpienia wszystkie wystąpienia określonego ciągu na inny określony ciąg.

ToString()

Konwertuje wartość tego wystąpienia na wartość String.

ToString(Int32, Int32)

Konwertuje wartość podciągów tego wystąpienia na wartość String.

Jawne implementacje interfejsu

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo Wypełnia obiekt danymi niezbędnymi do deserializacji bieżącego StringBuilder obiektu.

Dotyczy

Zobacz też