Sdílet prostřednictvím


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

Definice

Pokud je to možné, přidělí pole při vynechání inicializace nuly.

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

Parametry typu

T

Určuje typ prvku pole.

Parametry

length
Int32

Určuje délku pole.

pinned
Boolean

Určuje, jestli je nutné připnout přidělenou matici.

Návraty

T[]

Maticový objekt s neinicializovanou pamětí.

Poznámky

V rozhraní .NET 7 a starších verzích: Pokud je připnutá na true, T nesmí být referenčním typem ani typem, který obsahuje odkazy na objekty.

Přeskočení nulové inicializace představuje bezpečnostní riziko. Neinicializované pole může obsahovat neplatné instance hodnotového typu nebo citlivé informace vytvořené jinými částmi aplikace. Kód, který pracuje na neinicializovaných polích, by měl být silně kontrolován, aby se zajistilo, že se neinicializovaná data nikdy nečtou.

Přeskočení nulové inicializace pomocí tohoto rozhraní API má výhodu pouze pro výkon velkých polí, jako jsou vyrovnávací paměti několika kilobajtů nebo více.

Platí pro