对于不支持的类型,Vector<T> 始终引发 NotSupportedException

现在,对于不支持的类型参数,System.Numerics.Vector<T> 始终引发 NotSupportedException

更改描述

以前,如果 T不支持的类型Vector<T> 的成员将不会始终引发 NotSupportedException。 并非总是因支持硬件加速的代码路径而引发异常。 例如,Vector<bool> + Vector<bool> 返回了 default,而不是在没有硬件加速的平台(如 Arm32)上引发异常。 对于不支持的类型,Vector<T> 成员在不同的平台和硬件配置中表现出不一致的行为。

从 .NET 5 开始,如果 T 类型不受支持,那么 Vector<T> 成员始终会对所有硬件配置引发 NotSupportedException

不支持的类型

Vector<T> 的类型参数支持的类型如下:

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

支持的类型并无变化,但将来可能会更改。

引入的版本

5.0

不要对 Vector<T> 的类型参数使用不受支持的类型。

受影响的 API