MemoryMarshal.Cast Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Convertit une étendue en lecture seule d’un type primitif en une étendue en lecture seule d’un autre type primitif. |
Cast<TFrom,TTo>(Span<TFrom>) |
Convertit une étendue d’un type primitif en une étendue d’un autre type primitif. |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- Source:
- MemoryMarshal.cs
- Source:
- MemoryMarshal.cs
- Source:
- MemoryMarshal.cs
Convertit une étendue en lecture seule d’un type primitif en une étendue en lecture seule d’un autre type primitif.
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)
Paramètres de type
- TFrom
Type de l’étendue source.
- TTo
Type de l’étendue cible.
Paramètres
- span
- ReadOnlySpan<TFrom>
Section source à convertir.
Retours
Étendue convertie en lecture seule.
Exceptions
TFrom
ou TTo
contient des références d’objets managés.
La Length propriété du nouveau ReadOnlySpan<T> dépasserait MaxValue.
Remarques
Ni ne TFrom
TTo
peut contenir de références d’objet managé. La Cast
méthode effectue cette vérification au moment de l’exécution et lève ArgumentException
si la vérification échoue.
Cette méthode est prise en charge uniquement sur les plateformes qui prennent en charge l’accès à la mémoire mal aligné ou lorsque le bloc de mémoire est aligné par d’autres moyens.
S’applique à
Cast<TFrom,TTo>(Span<TFrom>)
- Source:
- MemoryMarshal.cs
- Source:
- MemoryMarshal.cs
- Source:
- MemoryMarshal.cs
Convertit une étendue d’un type primitif en une étendue d’un autre type primitif.
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)
Paramètres de type
- TFrom
Type de l’étendue source.
- TTo
Type de l’étendue cible.
Paramètres
- span
- Span<TFrom>
Section source à convertir.
Retours
Étendue convertie.
Exceptions
TFrom
ou TTo
contient des références d’objets managés.
La Length propriété du nouveau ReadOnlySpan<T> dépasserait MaxValue.
Remarques
Ni ne TFrom
TTo
peut contenir de références d’objet managé. La Cast
méthode effectue cette vérification au moment de l’exécution et lève ArgumentException
si la vérification échoue.
Si les tailles des deux types sont différentes, le cast combine ou fractionne les valeurs, ce qui entraîne une modification de la longueur.
Par exemple, si TFrom
a Int64la valeur , le ReadOnlySpan<Int64>
contient une valeur unique, 0x0100001111110F0F et TTo
est Int32, le résultat obtenu ReadOnlySpan<Int32>
contient deux valeurs. Les valeurs sont 0x11110F0F et 0x01000011 sur une architecture little-endian, telle que x86. Sur une architecture big-endian, l’ordre des deux valeurs est inversé, c’est-à-dire 0x01000011, suivi de 0x11110F0F.
Autre exemple, si TFrom
est , contient ReadOnlySpan<Int32>
les valeurs de 1, 2 et 3, et TTo
est Int64, le résultat obtenu ReadOnlySpan<Int64>
contient une valeur unique : 0x0000000200000001 sur une architecture little-endian et 0x0000000100000002 sur une architecture big-endianInt32.
Cette méthode est prise en charge uniquement sur les plateformes qui prennent en charge l’accès à la mémoire mal aligné ou lorsque le bloc de mémoire est aligné par d’autres moyens.