MathF
及其MathF.Sin
方法是在.NET Core 2.0中引入的:
适用于:
Product |
Versions |
.NET |
Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8 |
.NET Standard |
2.1 |
而Single.Sin
(或float.Sin
)是在.NET 7中引入的:
适用于:
Product |
Versions |
.NET |
7, 8 |
与generic math的介绍和正在实施的static abstract interface method ITrigonometricFunctions<TSelf>.Sin(TSelf)
.在内部(在目前的实施中),它使用MathF.Sin
-source.dot.net.显然,出于兼容性原因,MathF.Sin
不能被移除(即使实现将被移至Single.Sin
)
在浮点类型上,更新的数学方法有没有一些我没有看到的好处,这些好处还没有通过System.MathF实现?
可以--它们可以在泛型方法中使用(带有适当的泛型约束),这就是引入泛型数学功能的原因:
public T MyFunc<T>(T value) where T : ITrigonometricFunctions<T>
{
var res = T.Sin(value);
return res;
}
和用法:
float f = 1;
MyFunc(f);