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

호출자 참고

.NET Core 및 .NET Framework 4.0 이상 버전에서는 StringBuilder(Int32, Int32) 생성자를 호출하여 StringBuilder 개체를 인스턴스화할 때 StringBuilder 인스턴스의 길이와 용량이 MaxCapacity 속성 값을 초과하여 증가할 수 있습니다. 이 문제는 작은 문자열을 추가하기 위해 메서드를 Append(String)AppendFormat(String, Object) 호출할 때 특히 발생할 수 있습니다.

생성자

Name Description
StringBuilder()

StringBuilder 클래스의 새 인스턴스를 초기화합니다.

StringBuilder(Int32, Int32)

지정된 용량으로 시작하여 지정된 최대 용량으로 확장할 수 있는 클래스의 StringBuilder 새 인스턴스를 초기화합니다.

StringBuilder(Int32)

지정된 용량을 사용하여 클래스의 StringBuilder 새 인스턴스를 초기화합니다.

StringBuilder(String, Int32, Int32, Int32)

지정된 부분 문자열 및 용량에서 클래스의 StringBuilder 새 인스턴스를 초기화합니다.

StringBuilder(String, Int32)

지정된 문자열 및 용량을 StringBuilder 사용하여 클래스의 새 인스턴스를 초기화합니다.

StringBuilder(String)

지정된 문자열을 사용하여 클래스의 StringBuilder 새 인스턴스를 초기화합니다.

속성

Name Description
Capacity

현재 인스턴스에서 할당한 메모리에 포함될 수 있는 최대 문자 수를 가져오거나 설정합니다.

Chars[Int32]

이 인스턴스의 지정된 문자 위치에 있는 문자를 가져오거나 설정합니다.

Length

현재 StringBuilder 개체의 길이를 가져오거나 설정합니다.

MaxCapacity

이 인스턴스의 최대 용량을 가져옵니다.

메서드

Name Description
Append(Boolean)

지정된 부울 값의 문자열 표현을 이 인스턴스에 추가합니다.

Append(Byte)

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

Append(Char, Int32)

이 인스턴스에 유니코드 문자의 문자열 표현을 지정한 개수의 복사본을 추가합니다.

Append(Char)

지정된 Char 개체의 문자열 표현을 이 인스턴스에 추가합니다.

Append(Char[], Int32, Int32)

지정된 유니코드 문자 하위 배열의 문자열 표현을 이 인스턴스에 추가합니다.

Append(Char[])

지정된 배열에 있는 유니코드 문자의 문자열 표현을 이 인스턴스에 추가합니다.

Append(Char*, Int32)

지정된 주소에서 시작하는 유니코드 문자 배열을 이 인스턴스에 추가합니다.

Append(Decimal)

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

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)

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

AppendFormat(IFormatProvider, String, Object, Object)

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

AppendFormat(IFormatProvider, String, Object)

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

AppendFormat(IFormatProvider, String, Object[])

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

AppendFormat(String, Object, Object, Object)

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

AppendFormat(String, Object, Object)

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

AppendFormat(String, Object)

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

AppendFormat(String, Object[])

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

지정된 문자 위치에 있는 이 인스턴스에 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, 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의 부분 문자열 값을 .로 변환합니다.

명시적 인터페이스 구현

Name Description
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

개체를 SerializationInfo 현재 StringBuilder 개체를 역직렬화하는 데 필요한 데이터로 채웁니다.

적용 대상

추가 정보