Partilhar via


O vetor<T> sempre lança NotSupportedException para tipos sem suporte

System.Numerics.Vector<T> agora sempre lança um NotSupportedException para parâmetros de tipo não suportados.

Alterar descrição

Anteriormente, os membros do Vector<T> nem sempre lançavam um NotSupportedException quando T era um tipo sem suporte. A exceção não era sempre lançada devido a percursos de código que permitiam a aceleração do 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 Arm32. Para tipos sem suporte, Vector<T> os membros apresentaram um comportamento inconsistente em diferentes plataformas e configurações de hardware.

A partir do .NET 5, Vector<T> gera sempre uma NotSupportedException em todas as configurações de hardware quando T não é um tipo suportado.

Tipos não suportados

Os tipos suportados para o parâmetro type de Vector<T> são:

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

Os tipos suportados não mudaram; todavia, poderão mudar no futuro.

Versão introduzida

5.0

Não use um tipo sem suporte para o parâmetro de tipo de Vector<T>.

APIs afetadas