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 Nullinitialisierung übersprungen wird, falls 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 angeheftet werden muss.
Gibt zurück
Ein Arrayobjekt mit nicht initialisiertem Arbeitsspeicher.
Hinweise
In .NET 7 und früheren Versionen: Wenn angeheftet auf true
festgelegt ist, darf T
kein Verweistyp oder ein Typ sein, der Objektverweise enthält.
Das Überspringen der Nullinitialisierung ist ein Sicherheitsrisiko. Das nicht initialisierte Array kann ungültige Werttypinstanzen oder vertrauliche Informationen enthalten, die von anderen Teilen der Anwendung erstellt wurden. Der Code, der auf nicht initialisierten Arrays ausgeführt wird, sollte stark überprüft werden, um sicherzustellen, dass die nicht initialisierten Daten nie gelesen werden.
Das Überspringen der Nullinitialisierung mithilfe dieser API hat nur einen wesentlichen Leistungsvorteil für große Arrays, z. B. Puffer mit mehreren Kilobyte oder mehr.