我看到 F# 使用**
运算符来获取幂,所以2 ** 5 = 32
. 这与 C# 不同,在 C# 中,您可以选择在自定义类型中使用“^”运算符,但由于某种原因,内置数字类型不使用该运算符。
但是如何在 C# 中实现 ** 运算符以在 F# 项目中使用?
如果我在 C# 中这样做:
public static Integer operator ^(Integer left, Integer right)
{
if (Integer.IsNaN(left) || Integer.IsNaN(right)) return NaN;
return left.RaiseToPower(right);
}
它编译得很好,我可以像使用“+”运算符一样使用它,但是这些都不能在 F# 中工作:
let intgr3 = intgr1 ** intgr2
let intgr3 = intgr1 ^ intgr2
而在 C# 中,这不起作用:
public static Integer operator **(Integer left, Integer right)
{
if (Integer.IsNaN(left) || Integer.IsNaN(right)) return NaN;
return left.RaiseToPower(right);
}
那么如何**
在 C# 中定义运算符的 F# 等价物呢?
谢谢。