[Study 1] StringBuilder 클래스와 String 클래스
C# / 2010/03/25 19:41
String 클래스 개체는 메모리에 크기가 한번 설정 되면 그 크기가 고정 된다. 이러한 특징으로 String 클래스는 고정된 문자열 처리에 사용 된다. 다음과 같은 연산이 있을 때,
1. 처럼 str 문자열을 초기화 하면 메모리에 "안녕" 이라는 문자열이 고정된 영역에 기록 된다.
2. 처럼 문자열을 합성하면 내부적으로 StringBuilder 클래스가 호출되며, 메모리 영역이 동적으로 변경 된다.
문자열 합성이 종료되면 StringBuilder 클래스가 String 형 문자열을 반환 한다.
String 클래스를 사용한 문자열 변경이 잣다면 내부적으로 StringBuilder로 변경되는 작업이 따르므로 처리 속도의 지연과 메모리 낭비가 발생 한다.
따라서 대용량 문자열을 다루거나 문자열이 자주 변경되는 경우에는
String 클래스 대신 StringBuilder 클래스를 사용하는 것이 좋다.
다음은 StringBuilder 클래스 주요 메서드 이다.
Append() : 문자열에 문자열을 추가
Insert() : 문자열 사이에 문자열을 추가
Remove() : 문자를 현재 문자열에서 삭제
Replace() : 문자열에서 특정 문자 / 문자열을 찾아 교체
ToString() : 문자열의 내용을 String 개체로 형 변환
1. string str = "안녕";
2. str = str + "하세요";
2. str = str + "하세요";
1. 처럼 str 문자열을 초기화 하면 메모리에 "안녕" 이라는 문자열이 고정된 영역에 기록 된다.
2. 처럼 문자열을 합성하면 내부적으로 StringBuilder 클래스가 호출되며, 메모리 영역이 동적으로 변경 된다.
문자열 합성이 종료되면 StringBuilder 클래스가 String 형 문자열을 반환 한다.
String 클래스를 사용한 문자열 변경이 잣다면 내부적으로 StringBuilder로 변경되는 작업이 따르므로 처리 속도의 지연과 메모리 낭비가 발생 한다.
따라서 대용량 문자열을 다루거나 문자열이 자주 변경되는 경우에는
String 클래스 대신 StringBuilder 클래스를 사용하는 것이 좋다.
다음은 StringBuilder 클래스 주요 메서드 이다.
Append() : 문자열에 문자열을 추가
Insert() : 문자열 사이에 문자열을 추가
Remove() : 문자를 현재 문자열에서 삭제
Replace() : 문자열에서 특정 문자 / 문자열을 찾아 교체
ToString() : 문자열의 내용을 String 개체로 형 변환
출처 : C# Programming Bible, 영진닷컴
'C#' 카테고리의 다른 글
| [Study 1] StringBuilder 클래스와 String 클래스 (0) | 2010/03/25 |
|---|
TAG
StringBuilder
