我敢打赌这个任务有一个更短更好的写作方式吗?
/// <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;
}
如果是否定的话,一种方法就是反转结果。 你会说什么称为“最佳实践”? 谢谢先进,
答案 0 :(得分:10)
您正在计算两个输入值之间差异的absolute value:
public double Consumed(double val1, double val2)
{
return Math.Abs(val1 - val2);
}
答案 1 :(得分:2)
我通常只使用交换参数再次调用我的函数:
public double Consumed(double val1, double val2)
{
if (val1 < val2)
return Consumed(val2,val1);
//Do Stuff
}
当然,在您的示例中Math.Abs
已经存在,但对于一般情况,这是我首选的解决方案。