728x90

728x90
C# StringBuilder: Append와 AppendFormat 완벽 가이드
📌 핵심 요약
- ✔️ StringBuilder는 문자열 조작을 위한 효율적인 클래스
- ✔️ Append는 단순 연결, AppendFormat은 서식 지정 가능
- ✔️ 빈번한 문자열 수정 시 String보다 성능이 우수
StringBuilder 개요
using System.Text;
StringBuilder sb = new StringBuilder();
- 가변적인 문자열을 다룰 때 사용하는 클래스입니다.
- string과 달리 문자열 조작 시 새로운 객체를 생성하지 않아 메모리 효율적입니다.
- System.Text 네임스페이스에 포함되어 있습니다.
Append vs AppendFormat 차이점
1. Append 메서드
StringBuilder sb = new StringBuilder();
sb.Append("안녕하세요 ");
sb.Append("롬멜님"); // 결과: "안녕하세요 롬멜님"
- 단순히 문자열을 끝에 추가합니다.
- 기본적인 문자열 연결 작업에 사용됩니다.
- 오버로드가 다양하여 숫자, 문자 등 다양한 타입 추가 가능합니다.
2. AppendFormat 메서드
StringBuilder sb = new StringBuilder();
string name = "롬멜";
int age = 35;
sb.AppendFormat("이름: {0}, 나이: {1}세", name, age); // 결과: "이름: 롬멜, 나이: 35세"
- 형식 문자열을 사용하여 서식화된 문자열을 추가합니다.
- string.Format과 유사한 방식으로 작동합니다.
- 복잡한 문자열 포맷팅에 유용합니다.
성능 비교 예제
// Bad Practice (String)
string result = "";
for(int i = 0; i < 1000; i++)
{
result += i.ToString();
}
// Good Practice (StringBuilder)
StringBuilder sb = new StringBuilder();
for(int i = 0; i < 1000; i++)
{
sb.Append(i);
}
string result = sb.ToString();
실무 활용 팁
- 💡 대량의 문자열 연산이 필요한 경우 반드시 StringBuilder를 사용하세요.
- 💡 대량의 로그 작성 시 유용합니다.
- 💡 초기 용량을 알 수 있다면 생성자에서 지정하여 성능을 최적화할 수 있습니다.
StringBuilder sb = new StringBuilder(capacity: 1000);
마치며
StringBuilder는 C# 개발에서 문자열 처리 성능을 최적화하는 핵심 도구입니다. 특히 대량의 문자열 처리가 필요한 경우 필수적으로 사용해야 하는 클래스입니다.
728x90
728x90