MemoryMarshal.Cast Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Rzutuje zakres tylko do odczytu jednego typu pierwotnego do zakresu tylko do odczytu innego typu pierwotnego. |
| Cast<TFrom,TTo>(Span<TFrom>) |
Rzutuje zakres jednego typu pierwotnego na zakres innego typu pierwotnego. |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- Źródło:
- MemoryMarshal.cs
- Źródło:
- MemoryMarshal.cs
- Źródło:
- MemoryMarshal.cs
- Źródło:
- MemoryMarshal.cs
- Źródło:
- MemoryMarshal.cs
Rzutuje zakres tylko do odczytu jednego typu pierwotnego do zakresu tylko do odczytu innego typu pierwotnego.
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)
Parametry typu
- TFrom
Typ zakresu źródłowego.
- TTo
Typ zakresu docelowego.
Parametry
- span
- ReadOnlySpan<TFrom>
Wycinek źródłowy do konwersji.
Zwraca
Przekonwertowany zakres tylko do odczytu.
Wyjątki
TFrom lub TTo zawiera odwołania do obiektów zarządzanych.
Właściwość Length nowego ReadOnlySpan<T> elementu przekroczy MaxValuewartość .
Uwagi
Ani nie TFromTTo mogą zawierać odwołań do obiektów zarządzanych. Metoda Cast wykonuje to sprawdzanie w czasie wykonywania i zgłasza ArgumentException , czy sprawdzanie nie powiedzie się.
Ta metoda jest obsługiwana tylko na platformach, które obsługują niewłaściwy dostęp do pamięci lub gdy blok pamięci jest wyrównany w inny sposób.
Dotyczy
Cast<TFrom,TTo>(Span<TFrom>)
- Źródło:
- MemoryMarshal.cs
- Źródło:
- MemoryMarshal.cs
- Źródło:
- MemoryMarshal.cs
- Źródło:
- MemoryMarshal.cs
- Źródło:
- MemoryMarshal.cs
Rzutuje zakres jednego typu pierwotnego na zakres innego typu pierwotnego.
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)
Parametry typu
- TFrom
Typ zakresu źródłowego.
- TTo
Typ zakresu docelowego.
Parametry
- span
- Span<TFrom>
Wycinek źródłowy do konwersji.
Zwraca
Przekonwertowany zakres.
- Atrybuty
Wyjątki
TFrom lub TTo zawiera odwołania do obiektów zarządzanych.
Właściwość Length nowego ReadOnlySpan<T> elementu przekroczy MaxValuewartość .
Uwagi
Ani nie TFromTTo mogą zawierać odwołań do obiektów zarządzanych. Metoda Cast wykonuje to sprawdzanie w czasie wykonywania i zgłasza ArgumentException , czy sprawdzanie nie powiedzie się.
Jeśli rozmiary dwóch typów są różne, rzutowanie łączy lub dzieli wartości, co prowadzi do zmiany długości.
Jeśli na przykład TFrom parametr ma Int64wartość , ReadOnlySpan<Int64> element zawiera pojedynczą wartość, 0x0100001111110F0F i TTo ma Int32wartość , wynik ReadOnlySpan<Int32> zawiera dwie wartości. Wartości są 0x11110F0F i 0x01000011 w małej architekturze endian, takiej jak x86. W architekturze big-endian kolejność dwóch wartości jest odwrócona, tj. 0x01000011, a następnie 0x11110F0F.
W innym przykładzie, jeśli TFrom parametr to Int32, ReadOnlySpan<Int32> zawiera wartości 1, 2 i 3, i TTo to Int64, wynik ReadOnlySpan<Int64> zawiera jedną wartość: 0x0000000200000001 w architekturze nieco endian i 0x0000000100000002 w architekturze big-endian.
Ta metoda jest obsługiwana tylko na platformach, które obsługują niewłaściwy dostęp do pamięci lub gdy blok pamięci jest wyrównany w inny sposób.