Поделиться через


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> буфер, который он возвращает, все еще используется. Вызов этого метода для неподкрепленного массива может привести к повреждению памяти.

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