StringBuilder와 string의 차이점

4341 단어 StringBuilder
String 객체는 변경할 수 없습니다.System을 사용할 때마다String 클래스의 방법 중 하나는 메모리에 새 문자열 대상을 만들어야 하기 때문에 새 대상에 새로운 공간을 할당해야 한다.문자열에 대한 중복 수정이 필요한 경우 새 String 대상을 만드는 것과 관련된 시스템 비용이 매우 비쌀 수 있습니다.새 객체를 만들지 않고 문자열을 수정하려면 System을 사용할 수 있습니다.Text.StringBuilder 클래스.예를 들어, 여러 문자열을 주기에 연결하는 경우 StringBuilder 클래스를 사용하여 성능을 향상시킬 수 있습니다.다시 불러오는 구조 함수 방법으로 변수를 초기화하면 StringBuilder 클래스의 새로운 실례를 만들 수 있습니다. 예를 들어 StringBuilder MyStringBuilder = new StringBuilder ("Hello World!")  
용량과 길이를 설정합니다. StringBuilder 대상은 동적 대상입니다. 봉인된 문자열의 문자 수를 늘릴 수 있지만, 수용할 수 있는 최대 문자 수에 값을 지정할 수 있습니다.이 값을 객체의 용량이라고 하며 현재 StringBuilder 객체가 수용하는 문자열 길이와 혼동해서는 안 됩니다.예를 들어, 문자열 "Hello"(길이 5)가 있는 StringBuilder 클래스의 새 인스턴스를 만들 수 있으며 객체의 최대 용량을 25로 지정할 수 있습니다.StringBuilder를 수정하면 용량에 도달할 때까지 공간이 재할당되지 않습니다.용량에 도달하면 자동으로 새 공간이 할당되고 용량이 두 배로 늘어납니다.다시 불러오는 구조 함수 중 하나를 사용하여StringBuilder 클래스의 용량을 지정할 수 있습니다.다음 코드 예제에서는 MyStringBuilder 객체를 최대 25개의 공백으로 확장할 수 있도록 지정합니다.       StringBuilder MyStringBuilder = new StringBuilder( "Hello World!", 25 );또한 읽기/쓰기 Capacity 속성을 사용하여 객체의 최대 길이를 설정할 수 있습니다.다음 코드 예제에서는 Capacity 속성을 사용하여 객체의 최대 길이를 정의합니다.       MyStringBuilder.Capacity = 25;EnsureCapacity 메서드는 현재 StringBuilder 의 용량을 확인하는 데 사용됩니다.만약 용량이 전달된 값보다 크면 어떠한 변경도 하지 않는다.그러나 용량이 전달된 값보다 작으면 현재 용량이 전달된 값과 일치하도록 변경됩니다.Length 속성을 보거나 설정할 수도 있습니다.Length 속성을 Capacity 속성보다 큰 값으로 설정하면 자동으로 Capacity 속성을 Length 속성과 같은 값으로 변경합니다.Length 속성을 현재 StringBuilder 객체의 문자열 길이보다 작은 값으로 설정하면 문자열이 단축됩니다.  
StringBuilder 문자열 수정 아래 표에는 StringBuilder의 내용을 수정할 수 있는 방법이 나와 있습니다.방법명은 StringBuilder를 사용합니다.Append는 현재 StringBuilder의 끝에 정보를 추가합니다.        StringBuilder.AppendFormat는 문자열에서 전달된 형식 설명자를 형식 텍스트로 바꿉니다.        StringBuilder.Insert는 문자열 또는 객체를 현재 StringBuilder 객체의 지정된 색인에 삽입합니다.        StringBuilder.Remove는 현재 StringBuilder 객체에서 지정된 수의 문자를 제거합니다.        StringBuilder.Replace는 지정된 색인에 지정된 문자를 대체합니다. 
Append Append 메서드는 현재 StringBuilder 객체가 나타내는 문자열의 끝에 텍스트나 객체의 문자열 표현 형식을 추가할 수 있습니다.다음 예제에서는 StringBuilder 객체를 Hello World로 초기화한 다음 일부 텍스트를 객체의 끝에 추가합니다.필요에 따라 자동으로 공간이 할당됩니다.       StringBuilderMyStringBuilder = newStringBuilder("Hello World!");           MyStringBuilder.Append("What a beautiful day.");           Console.WriteLine(MyStringBuilder);  
이 예에서는 "Hello World! What a beautiful day."콘솔에 표시됩니다.
AppendFormat AppendFormat 방법은 텍스트를StringBuilder의 끝에 추가하고 IFormattable 인터페이스를 실현하기 때문에 포맷 부분에서 기술한 표준 포맷 문자열을 받아들일 수 있습니다.이 방법을 사용하면 변수의 형식을 사용자 정의하고 이 값을 StringBuilder 뒤에 추가할 수 있습니다.다음 예제에서는 AppendFormat 방법을 사용하여 통화 값 형식으로 설정된 정수 값을 StringBuilder의 끝에 배치합니다.          intMyInt = 25;         StringBuilderMyStringBuilder = newStringBuilder("Your total is");         MyStringBuilder.AppendFormat("{0:C}", MyInt);         Console.WriteLine(MyStringBuilder);
이 예는 콘솔에 "Your total is $25.00"을 표시합니다. 
Insert Insert 메서드는 문자열 또는 객체를 현재 StringBuilder에서 지정된 위치에 추가합니다.다음 예제에서는 이 방법을 사용하여 StringBuilder의 여섯 번째 위치에 단어를 삽입합니다.
       StringBuilderMyStringBuilder = newStringBuilder("Hello World!");        MyStringBuilder.Insert(6, "Beautiful");        Console.WriteLine(MyStringBuilder);    
이 예에서는 "Hello Beautiful World!"콘솔에 표시됩니다.Remove는 현재 StringBuilder에서 지정된 수의 문자를 제거하는 Remove 방법을 사용하며, 제거 프로세스는 0부터 시작하는 지정된 색인에서 시작합니다.다음 예제에서는 Remove 방법을 사용하여 StringBuilder를 줄입니다.
    StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
    MyStringBuilder.Remove(5, 7);
    Console.WriteLine(MyStringBuilder); 

이 예제에서는 Hello를 콘솔에 표시합니다.Replace는 Replace 방법을 사용하여 StringBuilder 객체의 문자를 다른 지정된 문자로 대체할 수 있습니다.다음 예제에서는 Replace 방법을 사용하여 StringBuilder 객체를 검색하고 모든 느낌표 문자(!)를 찾습니다.물음표 문자(?)를 사용합니다.그것들을 교체할 것이다.
    StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
    MyStringBuilder.Replace('!', '?');
    Console.WriteLine(MyStringBuilder); 

좋은 웹페이지 즐겨찾기