728x90
주된 사용 이유 -> 반복적인 문자열 수정의 경우 효과적이다
기존방식으로 새로운 문자열을 만들기
string a = "A"
string b = "b"
string New = a + b;
위 방식으로 저장되면 A, b, Ab모두 메모리에 계속 남아 있는다
새로운 방식 StringBuilder
//new StringBulider("heelo", 10) 처음에 용량 지정 및 할당 가능
//용량은 동적으로 조정이 된다
StringBuilder sb = new StringBuilder();
sb.Append("a");
sb.Append("b");
//sb.Insert(1,"K"); //aKb
//sb.Replace("b","bbbbb"); // aKbbbbb
//sb.Remove(3,2);// akbbb
//sb.AppendFormat("{0}", 1); // akbbb1
string result = sb.ToString();
Console.WriteLine(result);
하지만 StringBulider을 사용하게 된다면 새로운 객체를 생성할 필요가 없어 메모리를 추가로 사용하지 않아도 된다
결론
텍스트 기반 게임을 만드는 경우에 성능향상에 도움이 될거라 생각이 든다.
728x90
'언어 정리 > c#' 카테고리의 다른 글
LeetCode - 300(동적 프로그래밍) (1) | 2024.01.02 |
---|---|
LeetCode - 733번 문제 bfs를 통한 해결 (0) | 2024.01.02 |
c# - lambda 간단한 사용예제 (0) | 2023.11.26 |
C# - delegate 확장 Func, Action (1) | 2023.11.26 |
c# - delegate 사용법 (2) | 2023.11.26 |