StringBuilder Класс

Определение

Представляет изменяемую строку символов. Этот класс не наследуется.

public ref class StringBuilder sealed
public ref class StringBuilder sealed : System::Runtime::Serialization::ISerializable
public sealed class StringBuilder
[System.Serializable]
public sealed class StringBuilder
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StringBuilder : System.Runtime.Serialization.ISerializable
public sealed class StringBuilder : System.Runtime.Serialization.ISerializable
type StringBuilder = class
[<System.Serializable>]
type StringBuilder = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StringBuilder = class
    interface ISerializable
type StringBuilder = class
    interface ISerializable
Public NotInheritable Class StringBuilder
Public NotInheritable Class StringBuilder
Implements ISerializable
Наследование
StringBuilder
Атрибуты
Реализации

Примеры

В следующем примере показано, как вызывать многие методы, определенные классом StringBuilder .

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

Комментарии

Дополнительные сведения об этом API см. в дополнительных примечаниях API для StringBuilder.

Примечания для тех, кто вызывает этот метод

В .NET Core и в .NET Framework 4.0 и более поздних версиях при создании экземпляра объекта StringBuilder путем вызова конструктора StringBuilder(Int32, Int32) длина и емкость экземпляра StringBuilder может превышать значение его свойства MaxCapacity. Это может произойти особенно при вызове Append(String) и AppendFormat(String, Object) методах для добавления небольших строк.

Конструкторы

Имя Описание
StringBuilder()

Инициализирует новый экземпляр класса StringBuilder.

StringBuilder(Int32, Int32)

Инициализирует новый экземпляр класса, который начинается с указанной StringBuilder емкости и может увеличиваться до указанного максимума.

StringBuilder(Int32)

Инициализирует новый экземпляр класса с помощью указанной StringBuilder емкости.

StringBuilder(String, Int32, Int32, Int32)

Инициализирует новый экземпляр класса из указанной StringBuilder подстроки и емкости.

StringBuilder(String, Int32)

Инициализирует новый экземпляр класса с помощью указанной StringBuilder строки и емкости.

StringBuilder(String)

Инициализирует новый экземпляр класса с помощью указанной StringBuilder строки.

Свойства

Имя Описание
Capacity

Возвращает или задает максимальное количество символов, которые могут содержаться в памяти, выделенной текущим экземпляром.

Chars[Int32]

Возвращает или задает символ в указанной позиции символа в этом экземпляре.

Length

Возвращает или задает длину текущего StringBuilder объекта.

MaxCapacity

Получает максимальную емкость этого экземпляра.

Методы

Имя Описание
Append(Boolean)

Добавляет строковое представление указанного логического значения в этот экземпляр.

Append(Byte)

Добавляет строковое представление указанного 8-разрядного целого числа без знака в этот экземпляр.

Append(Char, Int32)

Добавляет указанное количество копий строкового представления символа Юникода к этому экземпляру.

Append(Char)

Добавляет строковое представление указанного Char объекта к этому экземпляру.

Append(Char[], Int32, Int32)

Добавляет строковое представление указанного подаррейства символов Юникода к этому экземпляру.

Append(Char[])

Добавляет строковое представление символов Юникода в указанном массиве к этому экземпляру.

Append(Char*, Int32)

Добавляет массив символов Юникода, начиная с указанного адреса в этот экземпляр.

Append(Decimal)

Добавляет строковое представление указанного десятичного числа в этот экземпляр.

Append(Double)

Добавляет строковое представление указанного числа с плавающей запятой двойной точности к этому экземпляру.

Append(Int16)

Добавляет строковое представление указанного 16-разрядного целого числа со знаком в этот экземпляр.

Append(Int32)

Добавляет строковое представление указанного 32-разрядного целого числа со знаком к этому экземпляру.

Append(Int64)

Добавляет строковое представление указанного 64-разрядного целого числа со знаком в этот экземпляр.

Append(Object)

Добавляет строковое представление указанного объекта к этому экземпляру.

Append(ReadOnlySpan<Char>)

Добавляет строковое представление указанного диапазона символов только для чтения в этот экземпляр.

Append(SByte)

Добавляет строковое представление указанного 8-разрядного целого числа со знаком в этот экземпляр.

Append(Single)

Добавляет строковое представление указанного числа с плавающей запятой с одной точностью к этому экземпляру.

Append(String, Int32, Int32)

Добавляет копию указанной подстроки к этому экземпляру.

Append(String)

Добавляет копию указанной строки в этот экземпляр.

Append(StringBuilder, Int32, Int32)

Добавляет копию подстроки в указанный построитель строк в этот экземпляр.

Append(StringBuilder)

Добавляет строковое представление указанного построителя строк в этот экземпляр.

Append(UInt16)

Добавляет строковое представление указанного 16-разрядного целого числа без знака к этому экземпляру.

Append(UInt32)

Добавляет строковое представление указанного 32-разрядного целого числа без знака к этому экземпляру.

Append(UInt64)

Добавляет строковое представление указанного 64-разрядного целого числа без знака в этот экземпляр.

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

Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из трех аргументов с помощью указанного поставщика формата.

AppendFormat(IFormatProvider, String, Object, Object)

Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением одного из двух аргументов с помощью указанного поставщика формата.

AppendFormat(IFormatProvider, String, Object)

Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением одного аргумента с помощью указанного поставщика формата.

AppendFormat(IFormatProvider, String, Object[])

Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением соответствующего аргумента в массиве параметров с помощью указанного поставщика формата.

AppendFormat(String, Object, Object, Object)

Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из трех аргументов.

AppendFormat(String, Object, Object)

Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением одного из двух аргументов.

AppendFormat(String, Object)

Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением одного аргумента.

AppendFormat(String, Object[])

Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением соответствующего аргумента в массиве параметров.

AppendJoin(Char, Object[])

Объединяет строковые представления элементов в предоставленном массиве объектов, используя указанный разделитель символов между каждым элементом, а затем добавляет результат к текущему экземпляру построителя строк.

AppendJoin(Char, String[])

Объединяет строки предоставленного массива, используя указанный разделитель символов между каждой строкой, а затем добавляет результат к текущему экземпляру построителя строк.

AppendJoin(String, Object[])

Объединяет строковые представления элементов в предоставленном массиве объектов, используя указанный разделитель между каждым элементом, а затем добавляет результат к текущему экземпляру построителя строк.

AppendJoin(String, String[])

Объединяет строки предоставленного массива, используя указанный разделитель между каждой строкой, а затем добавляет результат к текущему экземпляру построителя строк.

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

Объединяет и добавляет элементы коллекции, используя указанный разделитель символов между каждым элементом.

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

Объединяет и добавляет элементы коллекции, используя указанный разделитель между каждым элементом.

AppendLine()

Добавляет конечный элемент строки по умолчанию к концу текущего StringBuilder объекта.

AppendLine(String)

Добавляет копию указанной строки, за которой следует терминатор строки по умолчанию к концу текущего StringBuilder объекта.

Clear()

Удаляет все символы из текущего StringBuilder экземпляра.

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

Копирует символы из указанного сегмента этого экземпляра в указанный сегмент целевого Char массива.

CopyTo(Int32, Span<Char>, Int32)

Копирует символы из указанного сегмента этого экземпляра в целевой Char диапазон.

EnsureCapacity(Int32)

Гарантирует, что емкость этого экземпляра StringBuilder не менее указанного значения.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Equals(ReadOnlySpan<Char>)

Возвращает значение, указывающее, равны ли символы в этом экземпляре символам в указанном диапазоне символов только для чтения.

Equals(StringBuilder)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
Insert(Int32, Boolean)

Вставляет строковое представление логического значения в этот экземпляр по указанной позиции символа.

Insert(Int32, Byte)

Вставляет строковое представление указанного 8-разрядного целого числа без знака в этот экземпляр в указанной позиции символа.

Insert(Int32, Char)

Вставляет строковое представление указанного символа Юникода в этот экземпляр в указанной позиции символа.

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

Вставляет строковое представление указанных вложенных символов Юникода в этот экземпляр по указанной позиции символов.

Insert(Int32, Char[])

Вставляет строковое представление указанного массива символов Юникода в этот экземпляр по указанной позиции символов.

Insert(Int32, Decimal)

Вставляет строковое представление десятичного числа в этот экземпляр в указанной позиции символа.

Insert(Int32, Double)

Вставляет строковое представление числа с плавающей запятой двойной точности в этот экземпляр в указанной позиции символа.

Insert(Int32, Int16)

Вставляет строковое представление указанного 16-разрядного целого числа со знаком в этот экземпляр по указанной позиции символа.

Insert(Int32, Int32)

Вставляет строковое представление указанного 32-разрядного целого числа со знаком в этот экземпляр в указанной позиции символа.

Insert(Int32, Int64)

Вставляет строковое представление 64-разрядного целого числа со знаком в этот экземпляр в указанной позиции символа.

Insert(Int32, Object)

Вставляет строковое представление объекта в этот экземпляр по указанной позиции символа.

Insert(Int32, ReadOnlySpan<Char>)

Вставляет последовательность символов в этот экземпляр по указанному расположению символов.

Insert(Int32, SByte)

Вставляет строковое представление указанного 8-разрядного целого числа со знаком в этот экземпляр в указанной позиции символа.

Insert(Int32, Single)

Вставляет строковое представление числа с плавающей запятой с одной точностью в этот экземпляр в указанной позиции символа.

Insert(Int32, String, Int32)

Вставляет одну или несколько копий указанной строки в этот экземпляр в указанной позиции символа.

Insert(Int32, String)

Вставляет строку в этот экземпляр в указанное положение символов.

Insert(Int32, UInt16)

Вставляет строковое представление 16-разрядного целого числа без знака в этот экземпляр в указанной позиции символа.

Insert(Int32, UInt32)

Вставляет строковое представление 32-разрядного целого числа без знака в этот экземпляр в указанной позиции символа.

Insert(Int32, UInt64)

Вставляет строковое представление 64-разрядного целого числа без знака в этот экземпляр в указанной позиции символа.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Remove(Int32, Int32)

Удаляет указанный диапазон символов из этого экземпляра.

Replace(Char, Char, Int32, Int32)

Заменяет в подстроку этого экземпляра все вхождения указанного символа другим заданным символом.

Replace(Char, Char)

Заменяет все вхождения указанного символа в этом экземпляре другим указанным символом.

Replace(String, String, Int32, Int32)

Заменяет в подстроке этого экземпляра все вхождения указанной строки другой указанной строкой.

Replace(String, String)

Заменяет все вхождения указанной строки в этом экземпляре другой указанной строкой.

ToString()

Преобразует значение этого экземпляра в .String

ToString(Int32, Int32)

Преобразует значение подстроки этого экземпляра в .String

Явные реализации интерфейса

Имя Описание
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Заполняет SerializationInfo объект данными, необходимыми для десериализации текущего StringBuilder объекта.

Применяется к

См. также раздел