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

Definition

Ordnet ein Array zu, während die Null-Initialisierung übersprungen wird, sofern möglich.

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

Typparameter

T

Gibt den Typ des Arrayelements an.

Parameter

length
Int32

Gibt die Länge des Arrays an.

pinned
Boolean

Gibt an, ob das zugeordnete Array fixiert sein muss.

Gibt zurück

T[]

Ein Arrayobjekt mit nicht initialisiertem Arbeitsspeicher.

Hinweise

Wenn angeheftet auf true, T darf es sich nicht um einen Verweistyp oder einen Typ handeln, der Objektverweise enthält.

Das Überspringen der Null-Initialisierung ist ein Sicherheitsrisiko. Das unitialisierte Array kann ungültige Werttypinstanzen oder vertrauliche Informationen enthalten, die von anderen Teilen der Anwendung erstellt wurden. Der Code, der auf unitialisierten Arrays ausgeführt wird, sollte stark überprüft werden, um sicherzustellen, dass die unitialisierten Daten nie gelesen werden.

Das Überspringen der Null-Initialisierung mit dieser API hat nur einen materiellen Leistungsvorteil für große Arrays, z. B. Puffer von mehreren Kilobyte oder mehr.

Gilt für