GC.AllocateUninitializedArray<T>(Int32, Boolean) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Alloue un tableau tout en ignorant l’initialisation zéro, si possible.
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()
Paramètres de type
- T
Spécifie le type de l’élément de tableau.
Paramètres
- length
- Int32
Spécifie la longueur du tableau.
- pinned
- Boolean
Spécifie si le tableau alloué doit être épinglé.
Retours
Objet tableau avec mémoire non initialisée.
Remarques
Dans .NET 7 et versions antérieures : si épinglé est défini sur true
, T
ne doit pas être un type référence ou un type qui contient des références d’objet.
Ignorer l’initialisation zéro est un risque de sécurité. Le tableau non initialisé peut contenir des instances valuetype non valides ou des informations sensibles créées par d’autres parties de l’application. Le code fonctionnant sur des tableaux non initialisés doit être fortement examiné pour s’assurer que les données non initialisées ne sont jamais lues.
Ignorer l’initialisation zéro à l’aide de cette API n’a qu’un avantage matériel en matière de performances pour les grands tableaux, tels que les mémoires tampons de plusieurs kilo-octets ou plus.