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 的指定元素之上的内存块。 如果 arraynull,或者如果 startlength 为 0,则此方法将返回 Length 为零的 Memory<T> 实例。

例外

array 是协变,array 的类型并不是 T[]

start 或结束索引不在 0 到 Length 的范围内。

注解

在调用此方法之前,数组必须已固定,并且当它返回的 Memory<T> 缓冲区仍在使用时,不能取消固定该数组。 在未固定的数组上调用此方法可能会导致内存损坏。

适用于