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형으로 변경 |
'프로그램 공부 > C#' 카테고리의 다른 글
StreamWriter, StreamReader (텍스트 파일을 쓰고 읽는 클래스) (0) | 2019.07.16 |
---|---|
For문과 Foreach문 (1) | 2019.07.09 |
유니티 시작, 요약 정리 3 (0) | 2019.05.13 |
유니티 시작, 요약 정리 2 (0) | 2019.05.12 |
유니티 시작, 요약 정리 1 (0) | 2019.05.12 |