댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
|
C#
2012.12.04 09:44
StringBuilder로 문자열 처리를 빠르게
조회 수 99756 댓글 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