MemoryMarshal.Cast Methode

Definition

Überlädt

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Wandelt einen schreibgeschützten Span eines primitiven Typs in einen schreibgeschützten Span eines anderen primitiven Typs um.

Cast<TFrom,TTo>(Span<TFrom>)

Wandelt einen Span eines primitiven Typs in einen Span eines anderen primitiven Typs um.

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Wandelt einen schreibgeschützten Span eines primitiven Typs in einen schreibgeschützten Span eines anderen primitiven Typs um.

public:
generic <typename TFrom, typename TTo>
 where TFrom : value class where TTo : value class static ReadOnlySpan<TTo> Cast(ReadOnlySpan<TFrom> span);
public static ReadOnlySpan<TTo> Cast<TFrom,TTo> (ReadOnlySpan<TFrom> span) where TFrom : struct where TTo : struct;
static member Cast : ReadOnlySpan<'From (requires 'From : struct)> -> ReadOnlySpan<'o (requires 'o : struct)> (requires 'From : struct and 'o : struct)
Public Shared Function Cast(Of TFrom As Structure, TTo As Structure) (span As ReadOnlySpan(Of TFrom)) As ReadOnlySpan(Of TTo)

Typparameter

TFrom

Der Typ der Quellspanne.

TTo

Der Typ des Zielbereichs.

Parameter

span
ReadOnlySpan<TFrom>

Der zu konvertierende Quellslice.

Gibt zurück

ReadOnlySpan<TTo>

Die konvertierte schreibgeschützte Span.

Ausnahmen

TFrom oder TTo enthält Verweise auf verwaltete Objekte.

Die Length Eigenschaft des neuen ReadOnlySpan<T> würde überschritten MaxValue.

Hinweise

Weder noch TFrom TTo kann verwaltete Objektverweise enthalten. Die Cast Methode führt diese Überprüfung zur Laufzeit aus und löst aus, wenn die Überprüfung fehlschlägt ArgumentException .

Diese Methode wird nur auf Plattformen unterstützt, die den falsch ausgerichteten Speicherzugriff unterstützen oder wenn der Speicherblock auf andere Weise ausgerichtet wird.

Gilt für:

Cast<TFrom,TTo>(Span<TFrom>)

Wandelt einen Span eines primitiven Typs in einen Span eines anderen primitiven Typs um.

public:
generic <typename TFrom, typename TTo>
 where TFrom : value class where TTo : value class static Span<TTo> Cast(Span<TFrom> span);
public static Span<TTo> Cast<TFrom,TTo> (Span<TFrom> span) where TFrom : struct where TTo : struct;
static member Cast : Span<'From (requires 'From : struct)> -> Span<'o (requires 'o : struct)> (requires 'From : struct and 'o : struct)
Public Shared Function Cast(Of TFrom As Structure, TTo As Structure) (span As Span(Of TFrom)) As Span(Of TTo)

Typparameter

TFrom

Der Typ der Quellspanne.

TTo

Der Typ des Zielbereichs.

Parameter

span
Span<TFrom>

Der zu konvertierende Quellslice.

Gibt zurück

Span<TTo>

Der konvertierte Span.

Ausnahmen

TFrom oder TTo enthält Verweise auf verwaltete Objekte.

Die Length Eigenschaft des neuen ReadOnlySpan<T> würde überschritten MaxValue.

Hinweise

Weder noch TFrom TTo kann verwaltete Objektverweise enthalten. Die Cast Methode führt diese Überprüfung zur Laufzeit aus und löst aus, wenn die Überprüfung fehlschlägt ArgumentException .

Wenn die Größen der beiden Typen unterschiedlich sind, kombiniert oder teilt die Umwandlung Werte, was zu einer Änderung der Länge führt.

Wenn TFrom dies beispielsweise der Wert ist Int64, enthält dies ReadOnlySpan<Int64> einen einzelnen Wert, 0x0100001111110F0F und TTo ist Int32, dass das ergebnis ReadOnlySpan<Int32> zwei Werte enthält. Die Werte sind 0x11110F0F und 0x01000011 auf einer kleinen endischen Architektur, z. B. x86. Bei einer big-endischen Architektur wird die Reihenfolge der beiden Werte umgekehrt, d. h. 0x01000011, gefolgt von 0x11110F0F.

Wenn ein weiteres Beispiel ist, TFrom Int32enthält dies ReadOnlySpan<Int32> die Werte 1, 2 und 3 und TTo ist Int64, das ergebnis ReadOnlySpan<Int64> einen einzelnen Wert: 0x0000000200000001 auf einer kleinen endischen Architektur und 0x0000000100000002 auf einer Big-End-Architektur.

Diese Methode wird nur auf Plattformen unterstützt, die den falsch ausgerichteten Speicherzugriff unterstützen oder wenn der Speicherblock auf andere Weise ausgerichtet wird.

Gilt für: