Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 StringBuilder를 사용하는 방법: 문자열을 효율적으로 다루기

C# 프로그래밍에서 StringBuilder는 문자열의 길이(문자 수)를 동적으로 확장할 수 있게 해주는 클래스입니다. 일반적인 string 타입은 불변(immutable)이기 때문에 한 번 생성되면 내용을 변경할 수 없으며, 수정 시마다 메모리에 새로운 객체가 만들어집니다.

반면 StringBuilder는 기존 객체를 그대로 유지한 채 내용을 확장하거나 수정할 수 있어, 반복적인 문자열 조작 작업에서 성능 면에서 큰 이점을 제공합니다.

StringBuilder의 주요 특징

  • 문자열을 자유롭게 확장하고 수정할 수 있습니다.
  • 수정 작업 시 새로운 객체를 메모리에 생성하지 않아 효율적입니다.
  • 초기 용량(capacity)을 지정하여 메모리 사용을 최적화할 수 있습니다.

StringBuilder 초기화

StringBuilder는 아래와 같이 간단하게 초기화할 수 있습니다.

StringBuilder str = new StringBuilder();

필요에 따라 초기 문자열과 용량을 함께 지정할 수도 있습니다.

C# StringBuilder 사용 예제

다음 예제를 통해 C#에서 StringBuilder를 실제로 활용하는 방법을 살펴보겠습니다.

using System;
using System.Text;
public class Program {
    public static void Main() {
        StringBuilder str = new StringBuilder("Web World!!", 30);
        str.Replace("World", "Arena");
        Console.WriteLine(str);
    }
}

실행 결과

Web Arena!!

예제 설명

위 코드에서는 먼저 초기 문자열 "Web World!!"와 용량 30을 지정하여 StringBuilder 객체를 생성했습니다. 이후 Replace() 메서드를 사용하여 문자열 내의 "World"를 "Arena"로 교체했습니다.

이처럼 StringBuilder의 Replace() 메서드를 활용하면 기존 문자열을 손쉽게 치환할 수 있습니다. 이 외에도 Append(), Insert(), Remove() 등 다양한 메서드를 통해 문자열을 유연하게 조작할 수 있습니다.

문자열 연결 작업이 많은 루프나 대용량 텍스트 처리에서는 string 대신 StringBuilder를 사용하는 것이 권장됩니다.