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
| Nom | Description |
|---|---|
| Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Convertit une étendue en lecture seule d’un type primitif en é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
- Source:
- MemoryMarshal.cs
- Source:
- MemoryMarshal.cs
Convertit une étendue en lecture seule d’un type primitif en é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>
Tranche source à convertir.
Retours
Étendue en lecture seule convertie.
Exceptions
TFrom ou TTo contient des références d’objet managé.
La Length propriété du nouveau ReadOnlySpan<T> dépasserait MaxValue.
Remarques
Ni TFrom ne 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ée 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
- 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;
[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)
Paramètres de type
- TFrom
Type de l’étendue source.
- TTo
Type de l’étendue cible.
Paramètres
- span
- Span<TFrom>
Tranche source à convertir.
Retours
Étendue convertie.
- Attributs
Exceptions
TFrom ou TTo contient des références d’objet managé.
La Length propriété du nouveau ReadOnlySpan<T> dépasserait MaxValue.
Remarques
Ni TFrom ne 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 c’est Int64le cas, le ReadOnlySpan<Int64> contient une valeur unique, 0x0100001111110F0F et TTo est Int32, le résultat ReadOnlySpan<Int32> contient deux valeurs. Les valeurs sont 0x11110F0F et 0x01000011 sur une architecture peu endienne, telle que x86. Sur une architecture big-endian, l’ordre des deux valeurs est inversé, c’est-à-dire 0x01000011, suivi de 0x11110F0F.
Comme autre exemple, si TFrom c’est Int32le cas, contient ReadOnlySpan<Int32> les valeurs 1, 2 et 3, et TTo est Int64, le résultat ReadOnlySpan<Int64> contient une valeur unique : 0x0000000200000001 sur une architecture little-endian et 0x0000000100000002 sur une architecture big-endian.
Cette méthode est prise en charge uniquement sur les plateformes qui prennent en charge l’accès à la mémoire mal alignée ou lorsque le bloc de mémoire est aligné par d’autres moyens.