Section 13.2: System.Text.StringBuilder 를 활용하여 문자열 이어붙이기
StringBuilder
를 통한 문자열 이어붙이기 작업은 단순한 +
연산자를 사용하는 것보다 성능 측면에서 장점이 있다. 이는 메모리가 할당되는 방법에 있어 차이가 있기 때문인데, 매 문자열 이어붙이기 작업 수행시마다 메모리를 재할당하는 대신에, StringBuilder
는 메모리를 블럭 단위로 할당한 후 현재 블럭 내 메모리가 모두 소진된 경우에 한하여 메모리를 재할당하게 되어 있다. 이는 작은 문자열 이어붙이기 작업을 다량으로 수행할 때에 큰 차이를 불러올 수 있다.
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++) {
sb.Append(i);
sb.Append(" ");
}
Console.WriteLine(sb.ToString()); // "1 2 3 4 5 "
Append()
메소드는 StringBuilder
에 대한 reference 를 반환하기 때문에, 연속적으로 연결하여 (daisy chained) 호출될 수 있다:
StringBuilder sb = new StringBuilder();
sb.Append("some string ")
.Append("another string");
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/CSharpBook/
반응형
'번역 > C# Notes for Professionals' 카테고리의 다른 글
13.4: $ 을 이용하여 문자열 이어붙이기 (0) | 2021.02.24 |
---|---|
13.3: String.Join 을 이용하여 문자열 배열을 이어붙이기 (0) | 2021.02.23 |
13.1: 문자열 연결 (concatenation) 을 위한 '+' 연산자 사용법 (0) | 2021.02.23 |
12.11: ToString() 메소드와의 비교 (0) | 2021.02.22 |
12.10: String.Format() 표현식 내에서 중괄호 escape 처리하기 (0) | 2021.02.22 |