Condividi tramite


GC.AllocateUninitializedArray<T>(Int32, Boolean) Metodo

Definizione

Alloca una matrice ignorando l'inizializzazione zero, se possibile.

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()

Parametri di tipo

T

Specifica il tipo dell'elemento della matrice.

Parametri

length
Int32

Specifica la lunghezza della matrice.

pinned
Boolean

Specifica se la matrice allocata deve essere bloccata.

Restituisce

T[]

Oggetto matrice con memoria non inizializzata.

Commenti

In .NET 7 e versioni precedenti: se aggiunto è impostato su true, T non deve essere un tipo riferimento o un tipo che contiene riferimenti a oggetti.

Ignorare l'inizializzazione zero è un rischio per la sicurezza. La matrice non inizializzata può contenere istanze valuetype non valide o informazioni riservate create da altre parti dell'applicazione. Il codice che opera su matrici non inizializzate deve essere esaminato in modo approfondito per garantire che i dati non inizializzati non vengano mai letti.

Ignorare l'inizializzazione zero usando questa API ha solo un vantaggio di prestazioni materiali per matrici di grandi dimensioni, ad esempio buffer di diversi kilobyte o più.

Si applica a