Partager via


MemoryMarshal.Cast Méthode

Définition

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

Span<TTo>

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

S’applique à