在两个参数[最佳实践/更好的代码]之间切换值



我打赌这个任务有一个更短更好的方式来写?

/// <summary>
/// Consumption between two parameters
/// </summary>
public double Consumed(double val1, double val2)
{
    double currentValue = 0;
    // Don't calculate backward
    if (val1 < val2)
    {
        currentValue = val1;
        val2 = val1;
        val2 = currentValue;
    }
    currentValue = (val1 - val2);
    return currentValue;
}

如果是负的,一种方法就是相反的结果。你觉得"最佳实践"是什么?提前感谢,

您正在计算两个输入值之差的绝对值:

public double Consumed(double val1, double val2)
{
    return Math.Abs(val1 - val2);
}

我通常只是再次调用我的函数与交换参数:

public double Consumed(double val1, double val2)
{
    if (val1 < val2)
        return Consumed(val2,val1);
    //Do Stuff
}

当然,在您的示例中Math.Abs已经存在,但对于一般情况,这是我首选的解决方案。

最新更新