Share via


Vetor<T> sempre lança NotSupportedException para tipos sem compatibilidade

System.Numerics.Vector<T> agora sempre gera um NotSupportedException para parâmetro de tipo não compatível.

Descrição das alterações

Anteriormente, os membros de Vector<T> nem sempre lançavam um NotSupportedException quando T era um tipo sem compatibilidade. A exceção nem sempre foi gerada devido a caminhos de código com suporte para aceleração de hardware. Por exemplo, Vector<bool> + Vector<bool> retornou default em vez de lançar uma exceção em plataformas que não têm aceleração de hardware, como o Arm32. Para tipos sem suporte, os membros de Vector<T> exibiam um comportamento inconsistente em diferentes plataformas e configurações de hardware.

A partir do .NET 5, os membros de Vector<T> sempre lançam um NotSupportedException em todas as configurações de hardware quando T não é um tipo compatível.

Tipos não compatíveis

Os tipos compatíveis para o parâmetro de tipo de Vector<T> são:

  • byte
  • sbyte
  • short
  • ushort
  • int
  • uint
  • long
  • ulong
  • float
  • double

No entanto, os tipos compatíveis não foram alterados.

Versão introduzida

5,0

Não use um tipo não compatível para o parâmetro de tipo de Vector<T>.

APIs afetadas