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에 대한 자세한 내용은 StringBuilder에 대한 추가 API 설명을 참조하세요.

호출자 참고

.NET Core 및 .NET Framework 4.0 이상 버전에서 생성자를 호출 StringBuilder(Int32, Int32) 하여 개체를 인스턴스화 StringBuilder 할 때 instance 길이와 용량 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)

지정된 10진수의 문자열 표현을 이 인스턴스에 추가합니다.

Append(Double)

지정된 배정밀도 부동 소수점 숫자의 문자열 표현을 이 인스턴스에 추가합니다.

Append(IFormatProvider, StringBuilder+AppendInterpolatedStringHandler)

지정된 형식을 사용하여 이 instance 보간된 지정된 문자열을 추가합니다.

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)

지정된 보간된 문자열을 이 instance 추가합니다.

Append(UInt16)

지정된 16비트 부호 없는 정수의 문자열 표현을 이 인스턴스에 추가합니다.

Append(UInt32)

지정된 32비트 부호 없는 정수의 문자열 표현을 이 인스턴스에 추가합니다.

Append(UInt64)

지정된 64비트 부호 없는 정수의 문자열 표현을 이 인스턴스에 추가합니다.

AppendFormat(IFormatProvider, CompositeFormat, Object[])

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 형식 항목은 지정된 형식 공급자를 사용하여 인수의 문자열 표현으로 대체됩니다.

AppendFormat(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 형식 항목은 지정된 형식 공급자를 사용하여 인수의 문자열 표현으로 대체됩니다.

AppendFormat(IFormatProvider, String, Object)

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 지정된 형식 공급자를 사용하여 각 서식 항목이 단일 인수의 문자열 표현으로 바뀝니다.

AppendFormat(IFormatProvider, String, Object, Object)

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 지정된 형식 공급자를 사용하여 각 형식 항목이 두 인수 중 하나의 문자열 표현으로 바뀝니다.

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

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 지정된 형식 공급자를 사용하여 각 형식 항목이 세 인수 중 하나의 문자열 표현으로 바뀝니다.

AppendFormat(IFormatProvider, String, Object[])

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 서식 항목은 지정된 서식 공급자를 사용하여 매개 변수 배열에 있는 해당 인수의 문자열 표현으로 바뀝니다.

AppendFormat(String, Object)

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 서식 항목이 단일 인수의 문자열 표현으로 바뀝니다.

AppendFormat(String, Object, Object)

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 서식 항목이 두 인수 중 하나의 문자열 표현으로 바뀝니다.

AppendFormat(String, Object, Object, Object)

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 서식 항목이 세 인수 중 하나의 문자열 표현으로 바뀝니다.

AppendFormat(String, Object[])

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 형식 항목은 매개 변수 배열에 있는 해당 인수의 문자열 표현으로 바뀝니다.

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

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 형식 항목은 지정된 형식 공급자를 사용하여 인수의 문자열 표현으로 대체됩니다.

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

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 형식 항목은 지정된 형식 공급자를 사용하여 인수의 문자열 표현으로 대체됩니다.

AppendFormat<TArg0>(IFormatProvider, CompositeFormat, TArg0)

서식 항목이 0개 이상 포함된 복합 서식 문자열을 처리하여 반환된 문자열을 이 인스턴스에 추가합니다. 각 형식 항목은 지정된 형식 공급자를 사용하여 인수의 문자열 표현으로 대체됩니다.

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(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()

StringBuilder 인스턴스에서 작성한 ReadOnlyMemory<Char>에 표시되는 문자 청크를 반복하기 위해 사용할 수 있는 개체를 반환합니다.

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)

10진수의 문자열 표현을 지정된 문자 위치에 있는 이 인스턴스에 삽입합니다.

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 개체를 채웁니다.

적용 대상

추가 정보