C#에서 StringBuilder의 내용을 모두 지우고 싶을 때는 Clear() 메서드를 사용하면 됩니다. 이 메서드를 호출하면 StringBuilder에 저장된 모든 문자열이 제거되고 길이(Length)가 0으로 초기화됩니다.
StringBuilder 초기화하기
먼저 다음과 같이 StringBuilder 객체가 설정되어 있다고 가정해 보겠습니다.
string[] myStr = { "One", "Two", "Three", "Four" };
StringBuilder str = new StringBuilder("We will print now...").AppendLine();이제 Clear() 메서드를 호출하여 StringBuilder의 내용을 한 번에 지울 수 있습니다.
str.Clear();
전체 코드 예제
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());
int len = str.Length;
Console.WriteLine("Length: "+len);
// 내용 지우기
str.Clear();
int len2 = str.Length;
Console.WriteLine("Length after using Clear: "+len2);
Console.ReadLine();
}
}실행 결과
We will print now... One Two Three Four Length: 40 Length after using Clear: 0
실행 결과를 보면 Clear() 메서드 호출 전에는 StringBuilder의 길이가 40이었지만, 호출 후에는 0으로 변경된 것을 확인할 수 있습니다. 이처럼 Clear() 메서드를 사용하면 새 객체를 생성하지 않고도 기존 StringBuilder 인스턴스를 간편하게 초기화할 수 있어, 반복문 안에서 버퍼를 재사용할 때 특히 유용합니다.