More efficient way to build sum than for loop
<p>I have two lists with equal size. Both contain numbers. The first list is generated and the second one is static. Since I have many of the generated lists, I want to find out which one is the best. For me the best list is the one which is most equal to the reference. Therefore I calculate the difference at each position and add it up. </p>

<p>Here is the code:</p>

<pre><code>/// &lt;summary&gt;
/// Calculates a measure based on that the quality of a match can be evaluated
/// &lt;/summary&gt;
/// &lt;param name="Combination"&gt;&lt;/param&gt;
/// &lt;param name="histDates"&gt;&lt;/param&gt;
/// &lt;returns&gt;fitting value&lt;/returns&gt;
private static decimal getMatchFitting(IList&lt;decimal&gt; combination, IList&lt;MyClass&gt; histDates)
{
    decimal fitting = 0;
    if (combination.Count != histDates.Count)
    {
        return decimal.MaxValue;
    }

    //loop through all values, compare and add up the result
    for (int i = 0; i &lt; combination.Count; i++)
    {
        fitting += Math.Abs(combination[i] - histDates[i].Value);
    }
    return fitting;
}
</code></pre>

<p>Is there possibly a more elegant but more important and more efficient way to get the desired sum?</p>

<p>Thanks in advance!</p>
