C\#에서 StringBuilder 용법 및 String 과 의 차이 분석

6179 단어 StringBuilderString
String 류 는 변경 할 수 없 는 변성 이 있 습 니 다.문자 작업 을 수행 할 때마다 새 String 대상 을 만 듭 니 다.
StringBuilder 클래스 는 문자열 을 반복 적 으로 수정 하 는 과정 에서 대량의 대상 을 만 드 는 문 제 를 해결 합 니 다.StringBuilder 를 초기 화하 면 기본 StringBuilder 용량(기본 값 은 16)을 자동 으로 신청 합 니 다.이 용량 은 Capacity 가 제어 합 니 다.또한 필요 에 따라 Capacity 의 크기 를 제어 할 수도 있 고 Length 를 통 해 StringBuilder 의 길 이 를 가 져 오 거나 설정 할 수도 있 습 니 다.
예:String 클래스 로 이렇게 쓰기

String begin_query = "select UPPER(MachineName) As MachineName, "+"LOWER(MachineOwner) As MachineOwner, Status, "+ "StartTime from NET_STRESS WHERE ";

String end_query = " AND StartTime > '" + startTime + "'AND StartTime < '" + endTime + "'";

String query = begin_query + GetWhereClause("PASSED") + end_query;
StringBuilder 클래스 로 이렇게 쓰기:

StringBuilder begin_query = new StringBuilder();

 begin_query.Append("select UPPER(MachineName) As MachineName ");

 begin_query.Append("LOWER(MachineOwner) As MachineOwner, Status, ");

 begin_query.Append("StartTime from NET_STRESS WHERE ");

 StringBuilder end_query = new StringBuilder();

 end_query.Append(" AND StartTime > '");

 end_query.Append(startTime);

 end_query.Append("' AND StartTime < '");

 end_query.Append(endTime);

 end_query.Append("'");

 String query = begin_query.Append(GetWhereClause("PASSED")).Append(end_query).ToString();
다시 불 러 오 는 구조 함수 방법 으로 변 수 를 초기 화하 면 만 들 수 있 습 니 다.   StringBuilder   클래스 의 새로운 실례 는 아래 의 예시 에서 설명 한 바 와 같다.

StringBuilder   MyStringBuilder   =   new   StringBuilder("Hello   World!");
용량 과 길이 설정   비록...일지 라 도    StringBuilder    대상 은 동적 대상 입 니 다.봉 인 된 문자열 의 문자 수 를 늘 릴 수 있 지만,최대 문자 수 를 지정 할 수 있 습 니 다.이 값 을 이 대상 의 용량 이 라 고 부 르 며 현재 와 함께 해 서 는 안 됩 니 다.    StringBuilder   대상 이 수용 하 는 문자열 의 길이 가 혼 란 스 럽 습 니 다.예 를 들 어 만 들 수 있 습 니 다.   StringBuilder    클래스 에 문자열"Hello"가 있 습 니 다.   5)새로운 인 스 턴 스 와 함께 대상 의 최대 용량 을 지정 할 수 있 습 니 다.   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",그리고 일부 텍스트 를 대상 의 끝 에 추가 합 니 다.필요 에 따라 공간 을 자동 으로 분배 합 니 다. 

StringBuilder   MyStringBuilder   =   new   StringBuilder("Hello   World!");  
MyStringBuilder.Append("   What   a   beautiful   day.");  
Console.WriteLine(MyStringBuilder);
이 예시 는    Hello   World!   What   a   beautiful   day.   콘 솔 에 보이 기.   AppendFormat   AppendFormat   텍스트 추가 방법   StringBuilder    그리고   IFormattable    인터페이스,따라서 포맷 부분 에서 설명 한 표준 형식 문자열 을 받 아들 일 수 있 습 니 다.이 방법 을 사용 하여 변수의 형식 을 정의 하고 이 값 을 추가 할 수 있 습 니 다.   StringBuilder    라 고 말 한 뒤 였 다.이하 예시 사용   AppendFormat   방법 은 화폐 값 형식 으로 설 정 된 정수 치 를 배치 합 니 다.   StringBuilder   라 고 마무리 했다.  

int   MyInt   =   25;   
StringBuilder   MyStringBuilder   =   new   StringBuilder("Your   total   is   "); 
MyStringBuilder.AppendFormat("{0:C}   ",   MyInt); 
Console.WriteLine(MyStringBuilder);
이 예 는   Your   total    is   $25.00   콘 솔 에 보이 기.   Insert   Insert    현재 문자열 이나 대상 을 추가 하 는 방법   StringBuilder   지정 한 위치 입 니 다.다음 예제 에 서 는 이 방법 을 사용 하여 단 어 를 삽입 합 니 다.    StringBuilder   의 여섯 번 째 자리. 

StringBuilder   MyStringBuilder   =   new   StringBuilder("Hello   World!"); 
MyStringBuilder.Insert(6,"Beautiful   "); 
Console.WriteLine(MyStringBuilder);
이 예시 는   Hello    Beautiful   World!   콘 솔 에 보이 기.   Remove   사용 가능    Remove   방법   StringBuilder   지정 한 수량의 문 자 를 제거 하고 제거 과정 은 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); 
이 예 는   Hello   World?   콘 솔 에 보이 기.

좋은 웹페이지 즐겨찾기