다음을 통해 공유


GC.AllocateUninitializedArray<T>(Int32, Boolean) 메서드

정의

가능한 경우 0 초기화를 건너뛰는 동안 배열을 할당합니다.

public static T[] AllocateUninitializedArray<T> (int length, bool pinned = false);
static member AllocateUninitializedArray : int * bool -> 'T[]
Public Shared Function AllocateUninitializedArray(Of T) (length As Integer, Optional pinned As Boolean = false) As T()

형식 매개 변수

T

배열 요소의 형식을 지정합니다.

매개 변수

length
Int32

배열의 길이를 지정합니다.

pinned
Boolean

할당된 배열을 고정해야 하는지 여부를 지정합니다.

반환

T[]

초기화되지 않은 메모리가 있는 배열 개체입니다.

설명

.NET 7 및 이전 버전: 고정된 항목이 true설정된 경우 T 참조 형식이나 개체 참조를 포함하는 형식이 아니어야 합니다.

초기화 0을 건너뛰는 것은 보안 위험입니다. 초기화되지 않은 배열에는 잘못된 valuetype 인스턴스 또는 애플리케이션의 다른 부분에서 만든 중요한 정보가 포함될 수 있습니다. 초기화되지 않은 배열에서 작동하는 코드는 초기화되지 않은 데이터를 읽지 않도록 철저히 조사해야 합니다.

이 API를 사용하여 초기화 0을 건너뛰는 것은 여러 킬로바이트 이상의 버퍼와 같은 큰 배열에 대한 재료 성능 혜택만 있습니다.

적용 대상