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/

반응형

+ Recent posts