Programmer:)

[C#] string '+' or Concat or StringBuilder 본문

DEV/Unity

[C#] string '+' or Concat or StringBuilder

ryeggg 2022. 8. 24. 16:45
반응형

string 에서 '+'을 사용한 조합

stirng name = "Zoe";

for(int i =0; i < 100; i++)
{
    name += i;
    Debug.log(name);
}

'+' 연산자로 문자열을 연결할 때 새로운 string 인스턴스가 생성된다.

그래서 반복문에서 '+' 을 사용하여 string을 변경할 경우 이전에 만든 string 인스턴스는 가비지가 된다.

System.Text.StringBuilder =>  Append()를 사용하면 이미 할당 된 메모리에 문자열을 복사해두고 한번에 객체를 생성하므로 더 효과적이다.

 

하지만 문자열이 4개 이하를 연결하는 경우거나 리터럴 문자열을 결합 할 때는 '+' , string.Concat() 을 사용하는 것이 더 나을 수 있다.

 

=> StringBuilder 를 쓰는것이 무조건 메모리 관리에 좋은 것은 아니다.

 

 

반응형
Comments