处理数学和计算的扩展方法有哪些有用的例子?

时间:2010-10-19 18:16:12

标签: c# math extension-methods

我经常使用的扩展方法是

public static double Pi(double this x) { return Math.PI*x; }

以便有权访问2.0.Pi()0.5.Pi() ..等

人们经常使用的数学相关扩展方法的其他一些例子是什么?

PS。好奇。

2 个答案:

答案 0 :(得分:3)

public static double Squared(double this x) { return x*x; }

答案 1 :(得分:0)

为了让创意丰富多彩,我将提供更多示例......

public static double Raise(double this x, double exponent)
{
    return Math.Pow(x, exponent);
}

public static bool NearZero(double this x, double tolerance)
{
     return Math.Abs(x) <= tolerance;
}

public static double Cap(double this x, double threshold)
{
    return Math.Abs(x)<threshold ? x : threshold*Math.Sign(x);
}

public static double SignOf(double this x, double sense)
{
    return Math.Sign(sense)*Math.Abs(x);
}

public static double ToRadians(double this x) { return Math.PI*x/180; }
public static double ToDegrees(double this x) { return 180*x/Math.PI; }

PS。感谢@Aaron发布extensionmethods.net。不幸的是,他们在数学相关的帖子方面几乎没有。