MemoryMarshal.Cast Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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.