댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
C#
2012.12.04 09:44
StringBuilder로 문자열 처리를 빠르게
조회 수 80580 댓글 0
StringBuilder 객체는 string과 마찬가지로 문자열을 담는 역할을 하지만, 차이점이 있습니다. 그것은 문자열을 수정할 수 있다는 점입니다. 이러한 특성을 C#에서는 mutable이라고 합니다.
StringBuilder 객체 정의하기 StringBuilder 객체를 정의할 때에도 문자열의 내용을 다음과 같은 형식으로 기입해 주시면 됩니다.
위 형식을 구성하는 요소들을 다음과 같이 정리하였습니다.
StringBuilder로 할 수 있는 작업들 StringBuilder는 문자열의 내용을 수정하는 메소드들을 제공합니다. 이들을 다음 표로 정리하오니 참고하시기 바랍니다.
class StBuilder { public static void Main() { StringBuilder sb = new StringBuilder("Hello"); Console.WriteLine("문자열 {0}", sb); //capacity - 객체의 용량 반환, 50으로 설정해도 자동으로 64로 됨 Console.WriteLine("해시코드 : {0}, 전체공간 : {1}, 문자열 길이:{2} ", sb.GetHashCode(), sb.Capacity, sb.Length); sb.Append("World!!~!~!~~!!!"); Console.WriteLine("문자열 {0}", sb); Console.WriteLine("해시코드 : {0}, 전체공간 : {1}, 문자열 길이:{2} ", sb.GetHashCode(), sb.Capacity, sb.Length); sb.EnsureCapacity(50); //string 객체를 배열처럼 다룰수도 있음 sb[0] = 'Y'; sb[6] = 'p'; Console.WriteLine("h-y, y-p 변경 : {0}", sb.ToString()); //전체 문자열 Console.WriteLine("해시코드 : {0}, 전체공간 : {1}, 문자열 길이:{2}, 최대 가능 공간 : {3} ", sb.GetHashCode(), sb.Capacity, sb.Length, sb.MaxCapacity); } } using System; using System.Text; using System.Diagnostics; class Program { static void Main() { // 1. // Declare a new StringBuilder. StringBuilder builder = new StringBuilder(); // 2. builder.Append("The list starts here:"); // 3. builder.AppendLine(); // 4. builder.Append("1 cat").AppendLine(); // 5. // Get a reference to the StringBuilder's buffer content. string innerString = builder.ToString(); // Display with Debug. Debug.WriteLine(innerString); } }
using System; using System.Text; class Program { static void Main() { StringBuilder builder = new StringBuilder( "This is an example string that is an example."); builder.Replace("an", "the"); // Replaces 'an' with 'the'. Console.WriteLine(builder.ToString()); Console.ReadLine(); } }
using System; using System.Text; class Program { static void Main() { string[] items = { "Cat", "Dog", "Celebrity" }; StringBuilder builder2 = new StringBuilder( "These items are required:").AppendLine(); foreach (string item in items) { builder2.Append(item).AppendLine(); } Console.WriteLine(builder2.ToString()); Console.ReadLine(); } }
using System; using System.Text; class Program { static string[] _items = new string[] { "cat", "dog", "giraffe" }; /// <summary> /// Append to a new StringBuilder and return it as a string. /// </summary> static string A1() { StringBuilder b = new StringBuilder(); foreach (string item in _items) { b.AppendLine(item); } return b.ToString(); } static void Main() { // Called in loop. A1(); } }
Dreamy의 코드 스크랩내가 모으고 내가 보는
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5