Udostępnij za pośrednictwem


MemoryMarshal.Cast Metoda

Definicja

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 TFromTTo 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

Span<TTo>

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 TFromTTo 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.

Dotyczy