Как конвертировать следующий код
double sumxy = 0; for (int i = 0; i < x.Count; i++) {sumxy = sumxy + (x[i] * y[i]);}
с помощью лямбды
Я использую C # 3.0. x и y - список двойных чисел
Спасибо
Если вы используете .NET 4, вы можете использовать оператор Zip:
Zip
double sumxy = x.Zip(y, (a, b) => a * b).Sum();
Или в .NET 3.5:
double sumxy = x.Select((value, index) => value * y[index]).Sum();
Нет никакого смысла, но если вы хотите:
Enumerable.Range(0, x.Count).Select(i => x[i] * y[i]).Sum();
Как то так ...
var sumy = Enumerable.Range(0, x.Count).Aggregate((result, i) => result + (x[i]*y[i]);