GC.AllocateUninitializedArray<T>(Int32, Boolean) Метод

Определение

Выделяет массив при пропуске нулевой инициализации, если это возможно.

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

Параметры типа

T

Указывает тип элемента массива.

Параметры

length
Int32

Указывает длину массива.

pinned
Boolean

Указывает, нужно ли закреплять выделенный массив.

Возвращаемое значение

T[]

Объект массива с неинициализированной памятью.

Комментарии

Если для параметра закреплено задано значение true, T не должен быть ссылочным типом или типом, содержащим ссылки на объекты.

Пропуск нулевой инициализации представляет угрозу безопасности. Унитарный массив может содержать недопустимые экземпляры valuetype или конфиденциальную информацию, созданную другими частями приложения. Код, работающий с унитарными массивами, должен быть тщательно изучен, чтобы гарантировать, что унитарные данные никогда не считываются.

Пропуск нулевой инициализации с помощью этого API имеет существенное преимущество только для больших массивов, таких как буферы размером в несколько килобайт или более.

Применяется к