Freigeben über


MemoryMarshal.CreateFromPinnedArray<T>(T[], Int32, Int32) Methode

Definition

Erstellt einen neuen Speicherpuffer über dem Abschnitt des bereits angehefteten Zielarrays, der beim Index start beginnt und aus length-Elementen besteht.

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)

Typparameter

T

Der Typ des Arrays.

Parameter

array
T[]

Das bereits angeheftete Quellarray.

start
Int32

Der Index von array, bei dem der Speicherblock begonnen wird.

length
Int32

Die Anzahl der Elemente, die in den Speicherblock eingeschlossen werden sollen.

Gibt zurück

Ein Speicherblock über die angegebenen Elemente von array. Wenn arraynull ist, oder wenn start und length 0 sind, gibt die Methode eine Memory<T> Instanz von Length Null wieder.

Ausnahmen

array ist kovariant, und den Typ von array ist nicht genau T[].

Der start- oder der Endindex liegt nicht im Bereich von 0 bis Length.

Hinweise

Das Array muss bereits angeheftet sein, bevor diese Methode aufgerufen wird, und dieses Array darf nicht aufgehoben werden, während der Memory<T> zurückgegebene Puffer noch verwendet wird. Das Aufrufen dieser Methode für ein nicht angeheftetes Array kann zu Einer Speicherbeschädigung führen.

Gilt für: