GC.AllocateUninitializedArray<T>(Int32, Boolean) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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ù.