다음을 통해 공유


길이가 0인 배열 할당

이 문서에서는 길이가 0인 배열 할당에 대한 성능 인사이트를 설명합니다.

원인

.NET에서 길이가 0인 배열을 할당하면 불필요한 메모리 할당이 발생할 수 있습니다. 이러한 할당은 작지만 특히 고성능 또는 메모리 제한 애플리케이션에서 성능 문제가 누적되고 발생할 수 있습니다.

성능 인사이트 설명

길이가 0인 배열이 할당되면 필요하지 않은 메모리 할당이 발생합니다. 새 배열을 만드는 대신 Array.Empty<T>() 메서드에서 제공하는 정적으로 할당된 빈 배열 인스턴스를 사용하는 것이 더 효율적입니다. 이 메서드는 지정된 형식의 캐시된 빈 배열을 반환하여 새 할당의 오버헤드를 방지합니다.

경고를 조사하는 방법

조사 링크를 클릭하여 할당된 길이가 0인 배열을 보여 주는 할당 보기로 이동합니다. 할당을 두 번 클릭하면 할당이 발생하는 코드 경로가 표시됩니다. Array.Empty<T>()제공된 정적으로 할당된 빈 배열 인스턴스를 사용하여 이러한 할당을 줄이는 것이 좋습니다.

다음은 빈 배열 할당 및 해결 방법의 예입니다.

위반:

class Example
{
    public void Method()
    {
        var array = new int[0];
    }
}

해상도:

class Example
{
    public void Method()
    {
        var array = Array.Empty<int>();
    }
}

추가 리소스

길이가 0인 배열 할당 및 기타 성능 모범 사례를 방지하는 방법에 대한 자세한 내용은 다음 리소스를 참조하세요.

CA1825: 길이가 0인 배열 할당(코드 분석)

이러한 지침에 따라 애플리케이션이 성능에 최적화되고 불필요한 메모리 오버헤드를 방지할 수 있습니다.