重载指数 C# 和指数运算符

Col*_*son 0 c# overloading operator-overloading exponent

有没有办法在 C# 中重载指数?我知道在某些语言中(无法说出任何名字),^用于指数函数,但在 C++ 和 C# 中,^是按位异或运算符,可以重载,但这不是我想要的超载。我不想超载电源功能或其他任何东西

例如。我知道我可以2^x(1 << x). 所以,我的第二部分,在 C# 中有一个指数运算符还是我必须坚持使用System.Math.Pow(base, exp);

Nei*_*l N 5

您可以创建一个扩展方法来充当 Math.Pow() 的快捷方式,这实际上是一件非常常见的事情。

也许:

public static double Pow(this double a, double b)
{
    return Math.Pow(a, b);
}
Run Code Online (Sandbox Code Playgroud)

那么你可以像这样使用它:

myDouble = myDouble.Pow(3);
Run Code Online (Sandbox Code Playgroud)

在扩展方法方面,您可以使用多种格式。如果你的目标是简洁,我相信你可以想出一些你会满意的东西。