GC.AllocateUninitializedArray<T>(Int32, Boolean) Yöntem

Tanım

Mümkünse sıfır başlatmayı atlarken bir dizi ayırır.

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ür Parametreleri

T

Dizi öğesinin türünü belirtir.

Parametreler

length
Int32

Dizinin uzunluğunu belirtir.

pinned
Boolean

Ayrılan dizinin sabitlenip sabitlenmeyeceğini belirtir.

Döndürülenler

T[]

Başlatılmamış belleğe sahip bir dizi nesnesi.

Açıklamalar

.NET 7 ve önceki sürümlerinde: Sabitlenmiş trueolarak ayarlanmışsa T bir başvuru türü veya nesne başvuruları içeren bir tür olmamalıdır.

Sıfır başlatmayı atlamak bir güvenlik riskidir. Başlatılmamış dizi geçersiz değer türü örnekleri veya uygulamanın diğer bölümleri tarafından oluşturulan hassas bilgiler içerebilir. Başlatılmamış dizilerde çalışan kod, başlatılmamış verilerin hiçbir zaman okunmadığından emin olmak için yoğun bir şekilde incelenmelidir.

Bu API kullanılarak sıfır başlatmanın atlanması, yalnızca birkaç kilobayt veya daha fazla arabellek gibi büyük diziler için malzeme performansı avantajına sahiptir.

Şunlara uygulanır