Condividi tramite


MemoryMarshal.Cast Metodo

Definizione

Overload

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Esegue il cast di un intervallo di sola lettura di un tipo primitivo in un intervallo di sola lettura di un altro tipo primitivo.

Cast<TFrom,TTo>(Span<TFrom>)

Esegue il cast di un intervallo di un tipo primitivo in un intervallo di un altro tipo primitivo.

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Origine:
MemoryMarshal.cs
Origine:
MemoryMarshal.cs
Origine:
MemoryMarshal.cs

Esegue il cast di un intervallo di sola lettura di un tipo primitivo in un intervallo di sola lettura di un altro tipo primitivo.

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)

Parametri di tipo

TFrom

Tipo dell'intervallo di origine.

TTo

Tipo dell'intervallo di destinazione.

Parametri

span
ReadOnlySpan<TFrom>

Sezione di origine da convertire.

Restituisce

Intervallo di sola lettura convertito.

Eccezioni

TFrom o TTo contiene riferimenti a oggetti gestiti.

La Length proprietà del nuovo ReadOnlySpan<T> supererebbe MaxValue.

Commenti

TTo Né né TFrom possono contenere riferimenti a oggetti gestiti. Il Cast metodo esegue questo controllo in fase di esecuzione e genera ArgumentException un'eccezione se il controllo ha esito negativo.

Questo metodo è supportato solo nelle piattaforme che supportano l'accesso alla memoria non allineato o quando il blocco di memoria è allineato con altri mezzi.

Si applica a

Cast<TFrom,TTo>(Span<TFrom>)

Origine:
MemoryMarshal.cs
Origine:
MemoryMarshal.cs
Origine:
MemoryMarshal.cs

Esegue il cast di un intervallo di un tipo primitivo in un intervallo di un altro tipo primitivo.

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)

Parametri di tipo

TFrom

Tipo dell'intervallo di origine.

TTo

Tipo dell'intervallo di destinazione.

Parametri

span
Span<TFrom>

Sezione di origine da convertire.

Restituisce

Span<TTo>

Intervallo convertito.

Eccezioni

TFrom o TTo contiene riferimenti a oggetti gestiti.

La Length proprietà del nuovo ReadOnlySpan<T> supererebbe MaxValue.

Commenti

TTo Né né TFrom possono contenere riferimenti a oggetti gestiti. Il Cast metodo esegue questo controllo in fase di esecuzione e genera ArgumentException un'eccezione se il controllo ha esito negativo.

Se le dimensioni dei due tipi sono diverse, il cast combina o divide i valori, che determina una modifica della lunghezza.

Ad esempio, se TFrom è Int64, contiene ReadOnlySpan<Int64> un singolo valore, 0x0100001111110F0F e TTo è Int32, l'oggetto risultante ReadOnlySpan<Int32> contiene due valori. I valori sono 0x11110F0F e 0x01000011 in un'architettura little-endian, ad esempio x86. In un'architettura big-endian, l'ordine dei due valori viene invertito, ad esempio 0x01000011 seguito da 0x11110F0F.

Come altro esempio, se TFrom è Int32, contiene ReadOnlySpan<Int32> i valori di 1, 2 e 3 e TTo è Int64, il risultato ReadOnlySpan<Int64> contiene un singolo valore: 0x0000000200000001 in un'architettura little-endian e 0x0000000100000002 in un'architettura big-endian.

Questo metodo è supportato solo nelle piattaforme che supportano l'accesso alla memoria non allineato o quando il blocco di memoria è allineato con altri mezzi.

Si applica a