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
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
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 wartość MaxValue.
Uwagi
Ani TFrom
TTo
nie może zawierać odwołań do obiektów zarządzanych. Metoda Cast
wykonuje to sprawdzanie w czasie wykonywania i zgłasza ArgumentException
błąd sprawdzania, jeśli sprawdzanie zakończy się niepowodzeniem.
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
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;
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.
Wyjątki
TFrom
lub TTo
zawiera odwołania do obiektów zarządzanych.
Właściwość Length nowego ReadOnlySpan<T> elementu przekroczy wartość MaxValue.
Uwagi
Ani TFrom
TTo
nie może zawierać odwołań do obiektów zarządzanych. Metoda Cast
wykonuje to sprawdzanie w czasie wykonywania i zgłasza ArgumentException
błąd sprawdzania, jeśli sprawdzanie zakończy się niepowodzeniem.
Jeśli rozmiary dwóch typów różnią się, rzutowanie łączy lub dzieli wartości, co prowadzi do zmiany długości.
Jeśli na przykład TFrom
to , element ReadOnlySpan<Int64>
zawiera pojedynczą wartość, 0x0100001111110F0F i TTo
jest Int32wartością , wynik ReadOnlySpan<Int32>
Int64zawiera 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
jest Int32to , zawiera ReadOnlySpan<Int32>
wartości 1, 2 i 3, i TTo
jest Int64to , wynik ReadOnlySpan<Int64>
zawiera jedną wartość: 0x0000000200000001 na małej architekturze endian i 0x0000000100000002 na 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.