프로그램 공부/C#
StringBuilder (계속해서 변경해야하는 string 변수일 경우 사용)
프로그램 호랭
2019. 7. 16. 14:38
C#에서 string은 Immutable Type(한번 값이 설정되면 다시 변경할 수 없는 타입)이다.
그렇기에 'string a = "AA"; '라고 설정한 후 'a = "Aa"; '을 실행하면 대입이 아닌 새로운 string 객체를 생성하여 "Aa"라는 는 데이터로 초기화 한 후에 변수명 a에 할당한다. 즉 변수 a는 전혀 다른 메모리를 갖는 객체를 가르키는 것이다.
반면에 System.Text.StringBuilder 클래스는 Mutable Type(값을 계속 변경할 수 있는 타입)이기에 문자열 갱신을 많이하는 프로그램에 자주 사용된다. StringBuilder는 클래스가 별도 메모리를 생성, 소멸하지 않고 일정한 버퍼를 갖고 문자열 갱신을 효율적으로 처리하기 때문이다.
함수 | 기능 |
Append() | 문자열 추가 |
Insert(1, "ex") | 문자열 1번째 위치에 "ex"삽입 |
Remove(1, 2) | 문자열 1번째 위치에서 2개의 문자들을 제거 |
Replace("ex", "EX") | 문자열 중 "ex"라는 문자 모두 "EX"로 변경 |
Replace("ex", "EX", 1, 10) | 문자열 1번째에서 10번째 문자열 사이 중 "ex"라는 문자 모두 "EX"로 변경 |
ToString() | StringBuilder객체를 String형으로 변경 |