C#의 Append() 메서드는 StringBuilder 객체에 새로운 내용을 추가할 때 사용합니다. 문자열, 숫자, 문자 등 다양한 형식의 데이터를 덧붙일 수 있으며, 반복문 안에서 문자열을 계속 연결해야 하는 경우 일반적인 string 연결보다 훨씬 뛰어난 성능을 제공합니다.
StringBuilder 객체 생성하기
먼저 StringBuilder 인스턴스를 생성합니다.
StringBuilder str = new StringBuilder();
Append()로 값 추가하기
이제 원하는 횟수만큼 반복하면서 Append() 메서드를 호출해 StringBuilder에 값을 추가합니다. 아래 예제는 0부터 4까지의 숫자를 공백과 함께 차례대로 추가합니다.
for (int j = 0; j < 5; j++) {
str.Append(j).Append(" ");
}여기서 str.Append(j)로 숫자를 추가한 뒤, 메서드 체이닝(method chaining)을 통해 이어서 .Append(" ")로 공백을 붙였습니다. Append() 메서드는 자기 자신인 StringBuilder 객체를 반환하기 때문에 이처럼 여러 메서드를 한 줄에 연결해서 호출할 수 있습니다.
전체 예제 코드
다음은 지금까지의 내용을 모두 담은 완성된 코드입니다.
using System;
using System.Text;
class Program {
static void Main() {
StringBuilder str = new StringBuilder();
for (int j = 0; j < 5; j++) {
str.Append(j).Append(" ");
}
Console.WriteLine(str);
}
}실행 결과
0 1 2 3 4
알아두면 좋은 점
StringBuilder를 사용하려면 코드 상단에 using System.Text;를 선언해야 합니다. 또한 + 연산자로 문자열을 반복해서 연결하면 매번 새로운 문자열 객체가 생성되어 메모리 낭비와 성능 저하가 발생하지만, StringBuilder는 내부 버퍼에 직접 내용을 추가하므로 대량의 문자열 조작 작업에서 훨씬 효율적입니다.