MemoryMarshal.Cast Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Converte uma extensão de somente leitura de um tipo primitivo em uma extensão de outro tipo primitivo. |
Cast<TFrom,TTo>(Span<TFrom>) |
Converte um período de um tipo primitivo em um período de outro tipo primitivo. |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
Converte uma extensão de somente leitura de um tipo primitivo em uma extensão de outro 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)
Parâmetros de tipo
- TFrom
O tipo do intervalo de origem.
- TTo
O tipo do intervalo de destino.
Parâmetros
- span
- ReadOnlySpan<TFrom>
A fatia de origem a ser convertida.
Retornos
A extensão de somente leitura convertida.
Exceções
TFrom
ou TTo
contém referências de objeto gerenciado.
A Length propriedade do novo ReadOnlySpan<T> excederia MaxValue.
Comentários
Nem TFrom
nem TTo
podem conter referências de objeto gerenciado. O Cast
método executa essa verificação em runtime e lança ArgumentException
se a verificação falhar.
Esse método tem suporte apenas em plataformas que dão suporte ao acesso de memória desalinhado ou quando o bloco de memória é alinhado por outros meios.
Aplica-se a
Cast<TFrom,TTo>(Span<TFrom>)
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
Converte um período de um tipo primitivo em um período de outro 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)
Parâmetros de tipo
- TFrom
O tipo do intervalo de origem.
- TTo
O tipo do intervalo de destino.
Parâmetros
- span
- Span<TFrom>
A fatia de origem a ser convertida.
Retornos
A extensão convertida.
Exceções
TFrom
ou TTo
contém referências de objeto gerenciado.
A Length propriedade do novo ReadOnlySpan<T> excederia MaxValue.
Comentários
Nem TFrom
nem TTo
podem conter referências de objeto gerenciado. O Cast
método executa essa verificação em runtime e lança ArgumentException
se a verificação falhar.
Se os tamanhos dos dois tipos forem diferentes, a conversão combinará ou dividirá valores, o que leva a uma alteração de comprimento.
Por exemplo, se TFrom
for Int64, o ReadOnlySpan<Int64>
conterá um único valor, 0x0100001111110F0F e TTo
será Int32, o resultante ReadOnlySpan<Int32>
conterá dois valores. Os valores são 0x11110F0F e 0x01000011 em uma arquitetura little-endian, como x86. Em uma arquitetura big-endian, a ordem dos dois valores é invertida, ou seja, 0x01000011, seguida por 0x11110F0F.
Como outro exemplo, se TFrom
for Int32, o ReadOnlySpan<Int32>
contém os valores de 1, 2 e 3 e TTo
é Int64, o resultante ReadOnlySpan<Int64>
contém um único valor: 0x0000000200000001 em uma arquitetura little-endian e 0x0000000100000002 em uma arquitetura big-endian.
Esse método tem suporte apenas em plataformas que dão suporte ao acesso de memória desalinhado ou quando o bloco de memória é alinhado por outros meios.