Partager via


GC.AllocateUninitializedArray<T>(Int32, Boolean) Méthode

Définition

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

T[]

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.

S’applique à