Udostępnij przez


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 Uwagi dotyczące dodatkowego interfejsu API dla narzędzia StringBuilder.

Uwagi dotyczące wywoływania

W programie .NET Core i w wersji .NET Framework 4.0 i nowszych podczas tworzenia wystąpienia StringBuilder obiektu przez wywołanie StringBuilder(Int32, Int32) konstruktora, długość i pojemność StringBuilder wystąpienia wystąpienia mogą wzrosnąć poza wartość jej MaxCapacity właściwości. Może się to zdarzyć 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(IFormatProvider, String, ReadOnlySpan<Object>)

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

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(String, ReadOnlySpan<Object>)

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

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, ReadOnlySpan<Object>)

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

AppendJoin(Char, ReadOnlySpan<String>)

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

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, ReadOnlySpan<Object>)

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

AppendJoin(String, ReadOnlySpan<String>)

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

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 zmiennoprzecinkowych 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 w tym wystąpieniu na określonej pozycji znaku.

Insert(Int32, Int32)

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

Insert(Int32, Int64)

Wstawia reprezentację ciągu 64-bitowej liczby całkowitej ze znakiem w tym wystąpieniu w określonym położeniu 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 podpisanej w tym wystąpieniu na określonej pozycji znaku.

Insert(Int32, Single)

Wstawia reprezentację ciągu liczby zmiennoprzecinkowych o pojedynczej precyzji do tego wystąpienia w określonym położeniu 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 reprezentację ciągu 16-bitowej liczby całkowitej bez znaku do tego wystąpienia w określonym położeniu znaku.

Insert(Int32, UInt32)

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

Insert(Int32, UInt64)

Wstawia reprezentację ciągu 64-bitowej liczby całkowitej bez znaku do tego wystąpienia 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)

Zastępuje wszystkie wystąpienia określonego znaku w tym wystąpieniu innym określonym znakiem.

Replace(Char, Char, Int32, Int32)

Zastępuje podciąg tego wystąpienia wszystkie wystąpienia określonego znaku o innym określonym znaku.

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)

Zastępuje wszystkie wystąpienia określonego ciągu w tym wystąpieniu innym określonym ciągiem.

Replace(String, String, Int32, Int32)

Zastępuje ciąg w podciągu tego wystąpienia wszystkie wystąpienia określonego ciągu innym określonym ciągiem.

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.

Metody rozszerzania

Append(StringBuilder, StringSegment)

Dodaj daną StringSegment do elementu StringBuilder.

AppendRedacted(StringBuilder, Redactor, ReadOnlySpan<Char>)

Redaguje potencjalnie poufne dane i dołącza je do StringBuilder wystąpienia.

AppendRedacted(StringBuilder, Redactor, String)

Redaguje potencjalnie poufne dane i dołącza je do StringBuilder wystąpienia.

Dotyczy

Zobacz też