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

Definition

Erstellt einen neuen Speicherpuffer über dem Teil des vordefinierten Zielarrays beginnend am start Index und besteht aus length Elementen.

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 vorab angeheftete Quellarray.

start
Int32

Der Index array , an dem der Speicherblock gestartet werden soll.

length
Int32

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

Gibt zurück

Ein Speicherblock über die angegebenen Elemente von array. Wenn array der Wert 0 oder 0 ist nullstartlength, gibt die Methode eine Memory<T> Instanz von Length Null zurück.

Ausnahmen

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

Der start Endindex befindet sich nicht im Bereich von 0 bis Length.

Hinweise

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

Gilt für: