MemoryMarshal.Cast Metoda

Definice

Přetížení

Name Description
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Přetypuje rozsah jen pro čtení jednoho primitivního typu na rozsah jen pro čtení jiného primitivního typu.

Cast<TFrom,TTo>(Span<TFrom>)

Přetypuje rozsah jednoho primitivního typu na rozsah jiného primitivního typu.

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Zdroj:
MemoryMarshal.cs
Zdroj:
MemoryMarshal.cs
Zdroj:
MemoryMarshal.cs
Zdroj:
MemoryMarshal.cs
Zdroj:
MemoryMarshal.cs

Přetypuje rozsah jen pro čtení jednoho primitivního typu na rozsah jen pro čtení jiného primitivního typu.

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 zdrojového rozsahu.

TTo

Typ cílového rozsahu.

Parametry

span
ReadOnlySpan<TFrom>

Zdrojový řez, který chcete převést.

Návraty

Převedené rozsahy jen pro čtení.

Výjimky

TFrom nebo TTo obsahuje odkazy na spravované objekty.

Vlastnost Length nového ReadOnlySpan<T> by byla překročena MaxValue.

Poznámky

TFrom Ani TTo nemůže obsahovat odkazy na spravované objekty. Tato Cast metoda provede tuto kontrolu za běhu a vyvolá chybu, pokud se kontrola nezdaří ArgumentException .

Tato metoda je podporována pouze na platformách, které podporují nesprávně zarovnaný přístup k paměti nebo pokud je blok paměti zarovnaný jinými prostředky.

Platí pro

Cast<TFrom,TTo>(Span<TFrom>)

Zdroj:
MemoryMarshal.cs
Zdroj:
MemoryMarshal.cs
Zdroj:
MemoryMarshal.cs
Zdroj:
MemoryMarshal.cs
Zdroj:
MemoryMarshal.cs

Přetypuje rozsah jednoho primitivního typu na rozsah jiného primitivního typu.

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 zdrojového rozsahu.

TTo

Typ cílového rozsahu.

Parametry

span
Span<TFrom>

Zdrojový řez, který chcete převést.

Návraty

Span<TTo>

Převedené rozpětí.

Atributy

Výjimky

TFrom nebo TTo obsahuje odkazy na spravované objekty.

Vlastnost Length nového ReadOnlySpan<T> by byla překročena MaxValue.

Poznámky

TFrom Ani TTo nemůže obsahovat odkazy na spravované objekty. Tato Cast metoda provede tuto kontrolu za běhu a vyvolá chybu, pokud se kontrola nezdaří ArgumentException .

Pokud jsou velikosti těchto dvou typů odlišné, přetypování kombinuje nebo rozděluje hodnoty, což vede ke změně délky.

Pokud TFrom je například , Int64 obsahuje jednu hodnotu, 0x0100001111110F0F a ReadOnlySpan<Int64> je TTo, výsledek Int32ReadOnlySpan<Int32>obsahuje dvě hodnoty. Hodnoty jsou 0x11110F0F a 0x01000011 v malé endové architektuře, například x86. U architektury big-endian je pořadí dvou hodnot obrácené, tj. 0x01000011, následované 0x11110F0F.

Jako další příklad, pokud TFrom je Int32, ReadOnlySpan<Int32> obsahuje hodnoty 1, 2 a 3 a TTo je Int64, výsledek ReadOnlySpan<Int64> obsahuje jednu hodnotu: 0x0000000200000001 na malé endian architektury a 0x0000000100000002 na big-endian architektury.

Tato metoda je podporována pouze na platformách, které podporují nesprávně zarovnaný přístup k paměti nebo pokud je blok paměti zarovnaný jinými prostředky.

Platí pro