System.Text.StringBuilder
AppendFormat
String은 지정된 문자열을 내부적으로 변경 할 수는 없다.
StringBuilder는 내부적으로 문자열 변경이 가능하다.
주요 메서드
Append
- 저장하고있는 값 뒤에 매개변수의 값을 문자열을 추가 한다. (Bool, Byte, Char, Char[], Decimal, Double, int16, int32, int64 등)
- 즉, Boolean 값이 매개변수로 들어가면, True 혹은 False 라는 문자열로 추가 한다.
- 문자를 n 번 추가 할 수 있다. ex) sb.Append('a', n);
1 2 3 | StringBuilder sb = new StringBuilder("Hello"); sb.Append(" World"); Console.WriteLine(sb); | cs |
1 2 3 | StringBuilder sb = new StringBuilder("He"); sb.Append('l', 2).Append("o World"); Console.WriteLine(sb); | cs |
AppendFormat
- C/C++에서 printf를 쓰면서 보았던 서식문자를 사용하지 않는다.
- 자리표시자를 사용하며, 매개변수는 0개이상의 자리표시자가 있는 하나의 서식과, 0개 이상의 변수를 사용합니다.
1 2 3 | StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0} {1} {2}","Hello","World",0); Console.WriteLine(sb); | cs |
1 2 3 4 5 | object[] var = {"Legacy", 2015, 'tistory', 4.12}; StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0} {1} {2} {3}", var); Console.WriteLine(sb); | cs |
Insert
- 지정된 위치에 특정 문자열을 추가한다.
1 2 3 | StringBuilder sb = new StringBuilder("Hellorld"); sb.Insert(5, " Wo"); Console.WriteLine(sb); | cs |
Remove
- 지정된 위치에있는 문자열을 특정 수많큼 삭제한다.
1 2 3 | StringBuilder sb = new StringBuilder("Hello Programing World"); sb.Remove(6,16); Console.WriteLine(sb); | cs |
Replace
- 지정한 문자열과 특정 문자열을 바꾼다.
1 2 3 | StringBuilder sb = new StringBuilder("Hell World"); sb.Replace(" ","o "); Console.WriteLine(sb); | cs |
MSDN : https://msdn.microsoft.com/ko-kr/library/system.text.stringbuilder%28v=vs.110%29.aspx
작성일 기준으로 유니티3D에서 문자열 관련 처리를 할 때, string 보다 StringBulider가 가비지 콜렉터를 덜 발생 시키며, 성능 향상에 더 도움이 된다고 하여서 C#의 StringBuilder 관련 포스트를 작성하였음.
320x100
'프로그래밍 > C#' 카테고리의 다른 글
C# 배열과 n차원 배열 (0) | 2015.06.24 |
---|---|
C#, Math (0) | 2015.05.12 |
List<T> (0) | 2015.04.19 |
C# 웹 파싱 코드 샘플 (0) | 2015.04.15 |
명명된 매개변수와 선택적 매개변수 (0) | 2015.04.10 |
댓글