MemoryMarshal.Cast Méthode

Définition

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

Span<TTo>

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

S’applique à