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
Указывает, нужно ли закреплять выделенный массив.
Возвращаемое значение
Объект массива с неинициализированной памятью.
Комментарии
Если для параметра закреплено задано значение true
, T
не должен быть ссылочным типом или типом, содержащим ссылки на объекты.
Пропуск нулевой инициализации представляет угрозу безопасности. Унитарный массив может содержать недопустимые экземпляры valuetype или конфиденциальную информацию, созданную другими частями приложения. Код, работающий с унитарными массивами, должен быть тщательно изучен, чтобы гарантировать, что унитарные данные никогда не считываются.
Пропуск нулевой инициализации с помощью этого API имеет существенное преимущество только для больших массивов, таких как буферы размером в несколько килобайт или более.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по