본문 바로가기

C# WPF

String 클래스와 StringBuilder 클래스의 차이점

StringBuilder 클래스로 구현하면 소요시간이 훨씬 적게 걸리고 메모리도 적게 사용합니다. 따라서 StringBuilder는 다양한 문자열 조작이 많이 필요한 곳에 String 대신 사용하면 효과적입니다.

예제 프로그램으로 문자열에 문자열을 추가하는 동작을 100,000번 수행한 후의 결과를 살펴보겠습니다. 



Ticks로 계산했을 때 String은 389,592,293 Tick, StringBuilder는 10,000 Tick으로 수천배나 되는 엄청난 차이를 확인할 수 있었습니다.


        private void btnStr_Click(object sender, RoutedEventArgs e)

        {

            long start = DateTime.Now.Ticks;

            String str = "";

            for (int i = 0; i < 100000; i++)

                str += "안녕하세요";

            long end = DateTime.Now.Ticks;


            txtResult.Text += "String 소요시간 = " + (end - start) + "\n";

        }


        private void btnStrBuilder_Click(object sender, RoutedEventArgs e)

        {

            long start = DateTime.Now.Ticks;

            StringBuilder str = new StringBuilder();

            for (int i = 0; i < 100000; i++)

                str.Append("안녕하세요");

            long end = DateTime.Now.Ticks;


            txtResult.Text += "StringBuilder 소요시간 = " + (end - start) + "\n";

        }


Beeeye Dmu

'C# WPF' 카테고리의 다른 글

ListView  (0) 2015.12.08
C#에서의 투명한 색깔의 표현  (0) 2015.12.01
Stopwatch 사용법  (0) 2015.11.18
[WPF] 시계가 나오는 계산기  (0) 2015.10.28
[C# WPF] 단위변환기  (0) 2015.10.21