본문 바로가기

IT

C#에서 문자열을 연결할 때 StringBuild가 + 연산자보다 훨씬 빠르다.

C#으로 문자열을 연결할 때 + 연산이나 $, Concat, String.Format() 등을 많이 사용하는데, 반복적인 문자열 연결 및 수정을 할 때는 StringBuild가 성능이 훨씬 좋습니다.

 

아래는 성능 비교를 위한 소스 예제입니다.

 

소스코드

using System.Diagnostics;
using System.Text;

class Program
{
    static void Main()
    {
        int repeatCount = 10000;

        // StringBuilder
        Stopwatch sw = Stopwatch.StartNew();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < repeatCount; i++)
        {
            sb.Append("HelloWorld");
        }
        string result1 = sb.ToString();
        sw.Stop();
        Console.WriteLine($"StringBuilder: {sw.ElapsedMilliseconds} ms");

        // + 연산자
        sw.Restart();
        string result2 = "";
        for (int i = 0; i < repeatCount; i++)
        {
            result2 += "HelloWorld";
        }
        sw.Stop();
        Console.WriteLine($"+ Operator: {sw.ElapsedMilliseconds} ms");
    }
}

 

결과

 

도움이 되셨길 바랍니다.