Compartilhar via


MemoryMarshal.CreateFromPinnedArray<T>(T[], Int32, Int32) Método

Definição

Cria um novo buffer de memória sobre a parte da matriz de destino pré-fixada começando pelo índice start e formado por itens 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)

Parâmetros de tipo

T

O tipo da matriz.

Parâmetros

array
T[]

A matriz de origem pré-fixada.

start
Int32

O índice de array no qual o bloco de memória será iniciado.

length
Int32

O número de itens a serem incluídos no bloco de memória.

Retornos

Um bloco de memória nos elementos especificados de array. Se array for null, ou se start e length forem 0, o método retornará uma instância Memory<T> de Length com valor zero.

Exceções

array é covariante e o tipo de array não é exatamente T[].

O start ou o índice final não está no intervalo de 0 a Length.

Comentários

A matriz já deve ser fixada antes que esse método seja chamado e essa matriz não deve ser desafixada enquanto o Memory<T> buffer retornado ainda estiver em uso. Chamar esse método em uma matriz desafixada pode resultar em corrupção de memória.

Aplica-se a