GC.AllocateUninitializedArray<T>(Int32, Boolean) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.