现在,对于不支持的类型参数,System.Numerics.Vector<T> 始终引发 NotSupportedException。
更改描述
以前,Vector<T>的成员在NotSupportedException是T时,不一定会抛出。 由于某些代码路径支持硬件加速,因此异常并不是总会被抛出。 例如, Vector<bool> + Vector<bool> 返回 default ,而不是在没有硬件加速的平台(如 Arm32)上引发异常。 对于不支持的类型, Vector<T> 成员在不同平台和硬件配置中表现出不一致的行为。
从 .NET 5 开始,当Vector<T>不是受支持的类型时,NotSupportedException成员会始终在所有硬件配置上引发T。
不支持的类型
类型参数 Vector<T> 支持的类型为:
bytesbyteshortushortintuintlongulongfloatdouble
但是,支持的类型不会更改,但将来可能会更改。
已引入的版本
5.0
建议的措施
不要对类型 Vector<T>参数使用不受支持的类型。
受影响的 API
- System.Numerics.Vector<T> 及其所有成员