StringBuilder Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет изменяемую строку символов. Этот класс не может быть унаследован.
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
- Наследование
-
StringBuilder
- Атрибуты
- Реализации
Примеры
В следующем примере показано, как вызывать многие методы, определенные классом 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
Комментарии
Дополнительные сведения об этом API см. в дополнительных примечаниях API для StringBuilder.
Примечания для тех, кто вызывает этот метод
В .NET Core и в .NET Framework 4.0 и более поздних версиях при создании экземпляра объекта StringBuilder путем вызова конструктора StringBuilder(Int32, Int32) длина и емкость экземпляра StringBuilder могут превышать значение его свойства MaxCapacity. Это может происходить особенно при вызове методов Append(String) и AppendFormat(String, Object) для добавления небольших строк.
Конструкторы
StringBuilder() |
Инициализирует новый экземпляр класса StringBuilder. |
StringBuilder(Int32) |
Инициализирует новый экземпляр класса StringBuilder с помощью указанной емкости. |
StringBuilder(Int32, Int32) |
Инициализирует новый экземпляр класса StringBuilder, который начинается с указанной емкости и может увеличиваться до указанного максимума. |
StringBuilder(String) |
Инициализирует новый экземпляр класса StringBuilder с помощью указанной строки. |
StringBuilder(String, Int32) |
Инициализирует новый экземпляр класса StringBuilder с помощью указанной строки и емкости. |
StringBuilder(String, Int32, Int32, Int32) |
Инициализирует новый экземпляр класса StringBuilder из указанной подстроки и емкости. |
Свойства
Capacity |
Возвращает или задает максимальное количество символов, которые могут содержаться в памяти, выделенной текущим экземпляром. |
Chars[Int32] |
Возвращает или задает символ в указанной позиции символа в этом экземпляре. |
Length |
Возвращает или задает длину текущего объекта StringBuilder. |
MaxCapacity |
Получает максимальную емкость этого экземпляра. |
Методы
Append(Boolean) |
Добавляет строковое представление указанного логического значения в этот экземпляр. |
Append(Byte) |
Добавляет строковое представление указанного 8-разрядного целого числа без знака в этот экземпляр. |
Append(Char) |
Добавляет строковое представление указанного объекта Char в этот экземпляр. |
Append(Char*, Int32) |
Добавляет массив символов Юникода, начиная с указанного адреса в этот экземпляр. |
Append(Char, Int32) |
Добавляет указанное количество копий строкового представления символа Юникода к этому экземпляру. |
Append(Char[]) |
Добавляет строковое представление символов Юникода в указанном массиве к этому экземпляру. |
Append(Char[], Int32, Int32) |
Добавляет строковое представление указанного подаррейства символов Юникода к этому экземпляру. |
Append(Decimal) |
Добавляет строковое представление указанного десятичного числа в этот экземпляр. |
Append(Double) |
Добавляет строковое представление указанного числа с плавающей запятой двойной точности к этому экземпляру. |
Append(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler) |
Добавляет указанную интерполированную строку в этот экземпляр с помощью указанного формата. |
Append(Int16) |
Добавляет строковое представление указанного 16-разрядного целого числа со знаком в этот экземпляр. |
Append(Int32) |
Добавляет строковое представление указанного 32-разрядного целого числа со знаком к этому экземпляру. |
Append(Int64) |
Добавляет строковое представление указанного 64-разрядного целого числа со знаком в этот экземпляр. |
Append(Object) |
Добавляет строковое представление указанного объекта к этому экземпляру. |
Append(ReadOnlyMemory<Char>) |
Добавляет строковое представление указанной области памяти только для чтения в этот экземпляр. |
Append(ReadOnlySpan<Char>) |
Добавляет строковое представление указанного диапазона символов только для чтения в этот экземпляр. |
Append(SByte) |
Добавляет строковое представление указанного 8-разрядного целого числа со знаком в этот экземпляр. |
Append(Single) |
Добавляет строковое представление указанного числа с плавающей запятой с одной точностью к этому экземпляру. |
Append(String) |
Добавляет копию указанной строки в этот экземпляр. |
Append(String, Int32, Int32) |
Добавляет копию указанной подстроки к этому экземпляру. |
Append(StringBuilder) |
Добавляет строковое представление указанного построителя строк в этот экземпляр. |
Append(StringBuilder, Int32, Int32) |
Добавляет копию подстроки в указанный построитель строк в этот экземпляр. |
Append(StringBuilder+AppendInterpolatedStringHandler) |
Добавляет указанную интерполированную строку в этот экземпляр. |
Append(UInt16) |
Добавляет строковое представление указанного 16-разрядного целого числа без знака к этому экземпляру. |
Append(UInt32) |
Добавляет строковое представление указанного 32-разрядного целого числа без знака к этому экземпляру. |
Append(UInt64) |
Добавляет строковое представление указанного 64-разрядного целого числа без знака в этот экземпляр. |
AppendFormat(IFormatProvider, CompositeFormat, Object[]) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из аргументов с помощью указанного поставщика формата. |
AppendFormat(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из аргументов с помощью указанного поставщика формата. |
AppendFormat(IFormatProvider, String, Object) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением одного аргумента с помощью указанного поставщика формата. |
AppendFormat(IFormatProvider, String, Object, Object) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением одного из двух аргументов с помощью указанного поставщика формата. |
AppendFormat(IFormatProvider, String, Object, Object, Object) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из трех аргументов с помощью указанного поставщика формата. |
AppendFormat(IFormatProvider, String, Object[]) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением соответствующего аргумента в массиве параметров с помощью указанного поставщика формата. |
AppendFormat(IFormatProvider, String, ReadOnlySpan<Object>) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением соответствующего аргумента в диапазоне параметров с помощью указанного поставщика формата. |
AppendFormat(String, Object) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением одного аргумента. |
AppendFormat(String, Object, Object) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением одного из двух аргументов. |
AppendFormat(String, Object, Object, Object) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из трех аргументов. |
AppendFormat(String, Object[]) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением соответствующего аргумента в массиве параметров. |
AppendFormat(String, ReadOnlySpan<Object>) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением соответствующего аргумента в диапазоне параметров. |
AppendFormat<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из аргументов с помощью указанного поставщика формата. |
AppendFormat<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из аргументов с помощью указанного поставщика формата. |
AppendFormat<TArg0>(IFormatProvider, CompositeFormat, TArg0) |
Добавляет строку, возвращаемую путем обработки составной строки форматирования, содержащей к этому экземпляру ноль или больше элементов формата. Каждый элемент формата заменяется строковым представлением любого из аргументов с помощью указанного поставщика формата. |
AppendJoin(Char, Object[]) |
Объединяет строковые представления элементов в предоставленном массиве объектов, используя указанный разделитель символов между каждым элементом, а затем добавляет результат к текущему экземпляру построителя строк. |
AppendJoin(Char, ReadOnlySpan<Object>) |
Объединяет строковые представления элементов в предоставленном диапазоне объектов, используя указанный разделитель символов между каждым элементом, а затем добавляет результат к текущему экземпляру построителя строк. |
AppendJoin(Char, ReadOnlySpan<String>) |
Объединяет строки предоставленного диапазона, используя указанный разделитель символов между каждой строкой, а затем добавляет результат к текущему экземпляру построителя строк. |
AppendJoin(Char, String[]) |
Объединяет строки предоставленного массива, используя указанный разделитель символов между каждой строкой, а затем добавляет результат к текущему экземпляру построителя строк. |
AppendJoin(String, Object[]) |
Объединяет строковые представления элементов в предоставленном массиве объектов, используя указанный разделитель между каждым элементом, а затем добавляет результат к текущему экземпляру построителя строк. |
AppendJoin(String, ReadOnlySpan<Object>) |
Объединяет строковые представления элементов в предоставленном диапазоне объектов, используя указанный разделитель между каждым элементом, а затем добавляет результат к текущему экземпляру построителя строк. |
AppendJoin(String, ReadOnlySpan<String>) |
Объединяет строки предоставленного диапазона, используя указанный разделитель между каждой строкой, а затем добавляет результат к текущему экземпляру построителя строк. |
AppendJoin(String, String[]) |
Объединяет строки предоставленного массива, используя указанный разделитель между каждой строкой, а затем добавляет результат к текущему экземпляру построителя строк. |
AppendJoin<T>(Char, IEnumerable<T>) |
Объединяет и добавляет элементы коллекции, используя указанный разделитель символов между каждым элементом. |
AppendJoin<T>(String, IEnumerable<T>) |
Объединяет и добавляет элементы коллекции, используя указанный разделитель между каждым элементом. |
AppendLine() |
Добавляет конечный элемент строки по умолчанию к концу текущего объекта StringBuilder. |
AppendLine(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler) |
Добавляет указанную интерполированную строку с помощью указанного формата, за которым следует конечный элемент строки по умолчанию, к концу текущего объекта StringBuilder. |
AppendLine(String) |
Добавляет копию указанной строки, за которой следует конечный элемент строки по умолчанию, в конец текущего объекта StringBuilder. |
AppendLine(StringBuilder+AppendInterpolatedStringHandler) |
Добавляет указанную интерполированную строку, за которой следует конечный элемент строки по умолчанию в конец текущего объекта 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) |
Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. |
GetChunks() |
Возвращает объект, который можно использовать для итерации с помощью блоков символов, представленных в |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
Insert(Int32, Boolean) |
Вставляет строковое представление логического значения в этот экземпляр по указанной позиции символа. |
Insert(Int32, Byte) |
Вставляет строковое представление указанного 8-разрядного целого числа без знака в этот экземпляр в указанной позиции символа. |
Insert(Int32, Char) |
Вставляет строковое представление указанного символа Юникода в этот экземпляр в указанной позиции символа. |
Insert(Int32, Char[]) |
Вставляет строковое представление указанного массива символов Юникода в этот экземпляр по указанной позиции символов. |
Insert(Int32, Char[], Int32, Int32) |
Вставляет строковое представление указанных вложенных символов Юникода в этот экземпляр по указанной позиции символов. |
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) |
Вставляет строку в этот экземпляр в указанное положение символов. |
Insert(Int32, String, Int32) |
Вставляет одну или несколько копий указанной строки в этот экземпляр в указанной позиции символа. |
Insert(Int32, UInt16) |
Вставляет строковое представление 16-разрядного целого числа без знака в этот экземпляр в указанной позиции символа. |
Insert(Int32, UInt32) |
Вставляет строковое представление 32-разрядного целого числа без знака в этот экземпляр в указанной позиции символа. |
Insert(Int32, UInt64) |
Вставляет строковое представление 64-разрядного целого числа без знака в этот экземпляр в указанной позиции символа. |
MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
Remove(Int32, Int32) |
Удаляет указанный диапазон символов из этого экземпляра. |
Replace(Char, Char) |
Заменяет все вхождения указанного символа в этом экземпляре другим указанным символом. |
Replace(Char, Char, Int32, Int32) |
Заменяет в подстроку этого экземпляра все вхождения указанного символа другим заданным символом. |
Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Заменяет все экземпляры одного диапазона символов только для чтения другим в этом построителе. |
Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32, Int32) |
Заменяет все экземпляры одного диапазона символов только для чтения другим в составе этого построителя. |
Replace(String, String) |
Заменяет все вхождения указанной строки в этом экземпляре другой указанной строкой. |
Replace(String, String, Int32, Int32) |
Заменяет в подстроке этого экземпляра все вхождения указанной строки другой указанной строкой. |
ToString() |
Преобразует значение этого экземпляра в String. |
ToString(Int32, Int32) |
Преобразует значение подстроки этого экземпляра в String. |
Явные реализации интерфейса
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Заполняет объект SerializationInfo данными, необходимыми для десериализации текущего объекта StringBuilder. |
Методы расширения
Append(StringBuilder, StringSegment) |
Добавьте указанный StringSegment в StringBuilder. |
AppendRedacted(StringBuilder, Redactor, ReadOnlySpan<Char>) |
Редактирует потенциально конфиденциальные данные и добавляет его в экземпляр StringBuilder. |
AppendRedacted(StringBuilder, Redactor, String) |
Редактирует потенциально конфиденциальные данные и добавляет его в экземпляр StringBuilder. |