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 na zakres 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 na zakres 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> obiektu przekroczyłaby MaxValuewartość .
Uwagi
TFrom
TTo
Ani nie mogą zawierać odwołań do obiektów zarządzanych. Metoda Cast
wykonuje tę kontrolę w czasie wykonywania i zgłasza ArgumentException
błąd w przypadku niepowodzenia sprawdzania.
Ta metoda jest obsługiwana tylko na platformach, które obsługują nieprawidłowo wyrównany 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> obiektu przekroczyłaby MaxValuewartość .
Uwagi
TFrom
TTo
Ani nie mogą zawierać odwołań do obiektów zarządzanych. Metoda Cast
wykonuje tę kontrolę w czasie wykonywania i zgłasza ArgumentException
błąd w przypadku niepowodzenia sprawdzania.
Jeśli rozmiary dwóch typów są różne, rzutowanie łączy lub dzieli wartości, co prowadzi do zmiany długości.
Na przykład jeśli 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 ma Int32wartość , ReadOnlySpan<Int32>
zawiera wartości 1, 2 i 3 i TTo
ma Int64wartość , wynik ReadOnlySpan<Int64>
zawiera jedną wartość: 0x0000000200000001 w architekturze małej i 0x0000000100000002 architektury big-endian.
Ta metoda jest obsługiwana tylko na platformach, które obsługują nieprawidłowo wyrównany dostęp do pamięci lub gdy blok pamięci jest wyrównany w inny sposób.
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla