Vector<T> 始终对不受支持的类型抛出 NotSupportedException

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

更改描述

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

从 .NET 5 开始,当Vector<T>不是受支持的类型时,NotSupportedException成员会始终在所有硬件配置上引发T

不支持的类型

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

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

但是,支持的类型不会更改,但将来可能会更改。

已引入的版本

5.0

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

受影响的 API