Manera más eficiente de construir suma que para bucle
Tengo dos listas de igual tamaño. Ambos contienen números. Se genera la primera lista y la segunda es estática. Como tengo muchas de las listas generadas, quiero saber cuál es la mejor. Para mí, la mejor lista es la que es más igual a la referencia. Por lo tanto calculo la diferencia en cada posición y la sumo.
Aquí está el código:
/// <summary>
/// Calculates a measure based on that the quality of a match can be evaluated
/// </summary>
/// <param name="Combination"></param>
/// <param name="histDates"></param>
/// <returns>fitting value</returns>
private static decimal getMatchFitting(IList<decimal> combination, IList<MyClass> 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 < combination.Count; i++)
{
fitting += Math.Abs(combination[i] - histDates[i].Value);
}
return fitting;
}
¿Existe posiblemente una forma más elegante pero más importante y más eficiente de obtener la suma deseada?
¡Gracias por adelantado!