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

C# foreach 루프로 StringBuilder에 문자열 반복 추가하기

C#에서 여러 문자열을 하나로 합칠 때 StringBuilder 클래스를 사용하면 새로운 문자열 객체를 계속 생성하지 않고도 효율적으로 문자열을 조작할 수 있습니다. 이 글에서는 foreach 루프를 활용해 문자열 배열의 각 요소를 StringBuilder에 반복해서 추가하는 방법을 알아보겠습니다.

1. 문자열 배열과 StringBuilder 설정

먼저 출력할 문자열 배열과 StringBuilder 객체를 준비합니다.

// 문자열 배열
string[] myStr = { "One", "Two", "Three", "Four" };
StringBuilder str = new StringBuilder("We will print now...").AppendLine();

AppendLine() 메서드는 문자열 끝에 줄바꿈 문자를 추가해 주므로, 이후 각 요소가 한 줄씩 깔끔하게 출력됩니다.

2. foreach 루프로 요소 반복 추가

이제 foreach 루프를 사용해 배열의 각 항목을 StringBuilder에 순서대로 추가합니다.

foreach (string item in myStr) {
    str.Append(item).AppendLine();
}

루프가 한 번 실행될 때마다 Append()로 현재 항목을 더하고, AppendLine()으로 줄바꿈을 붙여 다음 항목이 새로운 줄에 출력되도록 합니다.

3. 전체 예제 코드

아래는 위 과정을 모두 포함한 완전한 코드입니다.

using System;
using System.Text;

public class Demo {
    public static void Main() {
        // 문자열 배열
        string[] myStr = { "One", "Two", "Three", "Four" };
        StringBuilder str = new StringBuilder("We will print now...").AppendLine();

        // foreach 루프로 요소 추가
        foreach (string item in myStr) {
            str.Append(item).AppendLine();
        }
        Console.WriteLine(str.ToString());
        Console.ReadLine();
    }
}

4. 실행 결과

프로그램을 실행하면 다음과 같은 결과가 콘솔에 출력됩니다.

We will print now...
One
Two
Three
Four

왜 StringBuilder를 사용할까?

일반적인 string 타입은 불변(immutable)이기 때문에 문자열을 연결할 때마다 새로운 객체가 생성되어 성능 저하가 발생할 수 있습니다. 반면 StringBuilder는 내부 버퍼를 재사용하므로, 특히 루프 안에서 문자열을 반복적으로 이어붙일 때 훨씬 뛰어난 성능을 제공합니다. 대량의 데이터를 처리하는 경우 StringBuilder 사용을 권장합니다.