언어 정리/c#

C# - StringBulider

rimugiri 2023. 12. 29. 17:18
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