2011-09-07 61 views
4

我敢打賭,這個任務有一個更短,更好的方法來寫?在兩個參數之間切換值[最佳實踐/更好的代碼]

/// <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

(psst,這個問題剛剛沒有刪除) – Will

回答

10

你計算兩個輸入值之間的差值的absolute value

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

巨大的好問答範例代碼清理:) – Independent

2

我平時只需用交換的參數再次調用我的函數:

public double Consumed(double val1, double val2) 
{ 
    if (val1 < val2) 
     return Consumed(val2,val1); 

    //Do Stuff 
} 

當然在你的例子中Math.Abs已經存在,但對於一般情況這是我的首選解決方案。

+0

你有一個重要的觀點, – Independent