다음을 통해 공유


DA0001: 연결에 StringBuilder를 사용하십시오.

규칙 ID

DA0001

범주

.NET Framework 사용

프로파일링 방법

샘플링

계측

메시지

문자열 연결에 StringBuilder를 사용하는 것이 좋습니다.

메시지 형식

경고

원인

System.String.Concat에 대한 호출이 프로파일링 데이터의 상당 비율을 차지합니다. 여러 세그먼트에서 문자열을 생성하려면 StringBuilder 클래스를 사용하는 것이 좋습니다.

규칙 설명

String 개체는 변경할 수 없습니다. 따라서 문자열을 수정하면 새 문자열 개체와 원본의 가비지 수집을 만듭니다. 이 동작은 String.Concat을 명시적으로 호출하는지 + 또는 +=와 같은 문자열 연결 연산자를 사용하는지 여부에 관계없이 동일합니다. 자주 반복되는 루프에서 문자열에 문자를 추가할 때와 같이 이 메서드가 빈번하게 호출되는 경우에는 프로그램 성능이 저하될 수 있습니다.

StringBuilder 클래스는 변경할 수 있는 개체이며, System.String과 달리 이 클래스 인스턴스를 수정하는 StringBuilder에서 대부분의 메서드는 동일한 인스턴스에 대한 참조를 반환합니다. StringBuilder 인스턴스에 문자를 삽입하거나 텍스트를 추가하고, 새 인스턴스를 할당하고 원본 인스턴스를 삭제할 필요 없이 인스턴스에서 문자를 제거하거나 대체할 수 있습니다.

경고를 조사하는 방법

오류 목록 창에서 메시지를 두 번 클릭하여 샘플링 프로필 데이터의 함수 정보 뷰로 이동합니다. 문자열 연결을 가장 자주 사용하는 프로그램의 부분을 찾습니다. 자주 사용하는 문자열 연결 작업을 포함하여 복합 문자열 조작에는 StringBuilder 클래스를 사용합니다.

문자열 작업 방법에 대한 자세한 내용은 Microsoft Patterns and Practices 라이브러리에서 Chapter 5 - Improving Managed Code PerformanceString Operations 단원을 참조하십시오.