StringBuilder 의 사용 방법 을 깊이 이해 하 다.

1825 단어 stringbuilder
오늘 은 StringBuilder 를 사용 하여 검색 어 를 맞 추 었 는데 이것 이 정말 좋 은 것 을 발견 하고 작은 매듭 을 짓 기로 했 습 니 다.
바 이 두 의 StringBuilder 정의:String 대상 은 바 꿀 수 없습니다.System.string 클래스 의 방법 을 사용 할 때마다 메모리 에 새로운 문자열 대상 을 만들어 야 합 니 다.새 대상 에 게 새로운 공간 을 할당 해 야 합 니 다.문자열 에 대한 중복 수정 이 필요 한 경우 새로운 String 대상 을 만 드 는 것 과 관련 된 시스템 비용 이 매우 비 쌀 수 있 습 니 다.새 대상 을 만 들 지 않 고 문자열 을 수정 하려 면 System.Text.String Builder 류 를 사용 할 수 있 습 니 다.
주로 StringBuilder 의 Append()방법 과 Capacity 속성 입 니 다.
Capacity 가 Length 보다 작 을 때 Capacity 는 2 배 방식 으로 확 장 됩 니 다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StringBuilder   
{
  class Program
  {
    static void Main(string[] args)
    {
      StringBuilder s = new StringBuilder();
      long dataStart = DateTime.Now.Ticks;
      for (int i = 0; i < 1000; i++)
      {
        s.Append('a', i);
      }
      long dataEnd = DateTime.Now.Ticks;
      Console.WriteLine(s.Capacity);
      Console.WriteLine("  :{0}", (dataEnd - dataStart) / 100000.0);
      dataStart = DateTime.Now.Ticks;
      for (int i = 0; i < 1000; i++)
      {
        s.Append('a', i);
        if (s.Capacity < s.Length)
        {
          s.Capacity += 8;
        }
      }
      dataEnd = DateTime.Now.Ticks;
      Console.WriteLine("  :{0}", (dataEnd - dataStart) / 100000.0);
      Console.Read();
    }
  }
}
출력 결과:

이상 의 스 트 링 빌 더 의 사용법 을 깊이 이해 하 는 것 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기