MemoryMarshal.Cast Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Conjura um intervalo de apenas leitura de um tipo primitivo para um intervalo de apenas leitura de outro tipo primitivo. |
| Cast<TFrom,TTo>(Span<TFrom>) |
Conjura um intervalo de um tipo primitivo para um espaço de outro tipo primitivo. |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
Conjura um intervalo de apenas leitura de um tipo primitivo para um intervalo de apenas leitura 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 Genérico
- TFrom
O tipo de extensão da fonte.
- TTo
O tipo do vão alvo.
Parâmetros
- span
- ReadOnlySpan<TFrom>
A fatia de origem a converter.
Devoluções
O vão convertido para apenas leitura.
Exceções
TFrom ou TTo contém referências a objetos geridos.
A Length propriedade do novo ReadOnlySpan<T> excederia MaxValue.
Observações
Nenhum TFrom dos dois nem TTo pode conter referências a objetos geridos. O Cast método realiza esta verificação em tempo de execução e lança ArgumentException se a verificação falhar.
Este método é suportado apenas em plataformas que suportam acesso à memória desalinhado ou quando o bloco de memória está alinhado por outros meios.
Aplica-se a
Cast<TFrom,TTo>(Span<TFrom>)
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
- Origem:
- MemoryMarshal.cs
Conjura um intervalo de um tipo primitivo para um espaço 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;
[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)
Parâmetros de Tipo Genérico
- TFrom
O tipo de extensão da fonte.
- TTo
O tipo do vão alvo.
Parâmetros
- span
- Span<TFrom>
A fatia de origem a converter.
Devoluções
O vão convertido.
- Atributos
Exceções
TFrom ou TTo contém referências a objetos geridos.
A Length propriedade do novo ReadOnlySpan<T> excederia MaxValue.
Observações
Nenhum TFrom dos dois nem TTo pode conter referências a objetos geridos. O Cast método realiza esta verificação em tempo de execução e lança ArgumentException se a verificação falhar.
Se os tamanhos dos dois tipos forem diferentes, a fundição combina ou divide valores, o que leva a uma alteração no comprimento.
Por exemplo, se TFrom é , o Int64 contém um único valor, 0x0100001111110F0F, e ReadOnlySpan<Int64> é TTo, o resultado Int32 contém ReadOnlySpan<Int32>dois valores. Os valores são 0x11110F0F e 0x01000011 numa arquitetura little-endian, como a x86. Numa arquitetura big-endian, a ordem dos dois valores é invertida, ou seja, 0x01000011, seguida de 0x11110F0F.
Como outro exemplo, se TFrom é , o Int32 contém os valores 1, 2 e 3, e ReadOnlySpan<Int32> é TTo, o resultado Int64 contém um único valor: 0x0000000200000001 numa arquitetura little-endian e 0x0000000100000002 numa arquitetura big-endianReadOnlySpan<Int64>.
Este método é suportado apenas em plataformas que suportam acesso à memória desalinhado ou quando o bloco de memória está alinhado por outros meios.