MemoryMarshal.CreateFromPinnedArray<T>(T[], Int32, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый буфер памяти размером, который соответствует части предварительно привязанного целевого массива с начальным индексом start
и количеством элементов length
.
public:
generic <typename T>
static Memory<T> CreateFromPinnedArray(cli::array <T> ^ array, int start, int length);
public static Memory<T> CreateFromPinnedArray<T> (T[]? array, int start, int length);
public static Memory<T> CreateFromPinnedArray<T> (T[] array, int start, int length);
static member CreateFromPinnedArray : 'T[] * int * int -> Memory<'T>
Public Shared Function CreateFromPinnedArray(Of T) (array As T(), start As Integer, length As Integer) As Memory(Of T)
Параметры типа
- T
Тип массива.
Параметры
- array
- T[]
Исходный массив с предварительной привязкой.
- start
- Int32
Индекс array
, с которого определяется начало блока памяти.
- length
- Int32
Количество элементов, которые будут включены в блок памяти.
Возвращаемое значение
Блок памяти, содержащий указанные элементы array
. Если array
имеет значение null
, а start
и length
— 0, метод возвращает экземпляр Memory<T> со свойством Length, равным 0.
Исключения
Параметр array
является ковариантным, и array
не обязательно будет иметь тип T[]
.
Индекс start
или конечный индекс не входит в диапазон от 0 до Length.
Комментарии
Массив уже должен быть закреплен перед вызовом этого метода, и этот массив не должен быть откреплен, пока Memory<T> буфер, который он возвращает, все еще используется. Вызов этого метода для неподкрепленного массива может привести к повреждению памяти.