MemoryMarshal.Cast Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Wandelt eine schreibgeschützte Spanne eines Grundtyps in einen schreibgeschützten Bereich eines anderen Grundtyps um. |
| Cast<TFrom,TTo>(Span<TFrom>) |
Wandelt eine Spanne eines Grundtyps in einen Bereich eines anderen Grundtyps um. |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- Quelle:
- MemoryMarshal.cs
- Quelle:
- MemoryMarshal.cs
- Quelle:
- MemoryMarshal.cs
- Quelle:
- MemoryMarshal.cs
- Quelle:
- MemoryMarshal.cs
Wandelt eine schreibgeschützte Spanne eines Grundtyps in einen schreibgeschützten Bereich eines anderen Grundtyps 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 der Zielspanne.
Parameter
- span
- ReadOnlySpan<TFrom>
Das zu konvertierende Quellsegment.
Gibt zurück
Die konvertierte schreibgeschützte Spanne.
Ausnahmen
TFrom oder TTo enthält Verweise auf verwaltete Objekte.
Die Length Eigenschaft des neuen ReadOnlySpan<T> würde übersteigen MaxValue.
Hinweise
Weder TFrom noch TTo dürfen Verweise auf verwaltete Objekte enthalten. Die Cast Methode führt diese Überprüfung zur Laufzeit aus und löst aus ArgumentException , wenn die Überprüfung fehlschlägt.
Diese Methode wird nur auf Plattformen unterstützt, die falsch ausgerichteten Speicherzugriff unterstützen oder wenn der Speicherblock auf andere Weise ausgerichtet wird.
Gilt für:
Cast<TFrom,TTo>(Span<TFrom>)
- Quelle:
- MemoryMarshal.cs
- Quelle:
- MemoryMarshal.cs
- Quelle:
- MemoryMarshal.cs
- Quelle:
- MemoryMarshal.cs
- Quelle:
- MemoryMarshal.cs
Wandelt eine Spanne eines Grundtyps in einen Bereich eines anderen Grundtyps 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;
[System.Runtime.CompilerServices.OverloadResolutionPriority(1)]
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)
[<System.Runtime.CompilerServices.OverloadResolutionPriority(1)>]
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 der Zielspanne.
Parameter
- span
- Span<TFrom>
Das zu konvertierende Quellsegment.
Gibt zurück
Die konvertierte Spanne.
- Attribute
Ausnahmen
TFrom oder TTo enthält Verweise auf verwaltete Objekte.
Die Length Eigenschaft des neuen ReadOnlySpan<T> würde übersteigen MaxValue.
Hinweise
Weder TFrom noch TTo dürfen Verweise auf verwaltete Objekte enthalten. Die Cast Methode führt diese Überprüfung zur Laufzeit aus und löst aus ArgumentException , wenn die Überprüfung fehlschlägt.
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 zwei ReadOnlySpan<Int32> Werte enthält. Die Werte sind 0x11110F0F und 0x01000011 für eine kleine endische Architektur, z. B. x86. Bei einer big-endischen Architektur wird die Reihenfolge der beiden Werte umgekehrt, d. h. 0x01000011, gefolgt von 0x11110F0F.
Wenn es sich um ein weiteres Beispiel handelt, TFrom enthält dies Int32 die Werte 1, 2 und 3 und ReadOnlySpan<Int32> ist, enthält TTodas Ergebnis Int64 einen einzelnen Wert: 0x0000000200000001 für eine kleine endische Architektur und 0x0000000100000002 für eine Big-End-ArchitekturReadOnlySpan<Int64>.
Diese Methode wird nur auf Plattformen unterstützt, die falsch ausgerichteten Speicherzugriff unterstützen oder wenn der Speicherblock auf andere Weise ausgerichtet wird.