C#中如何将两个列表依次相乘

jiy*_*sli 0 c# arrays list arraylist

    var test= _db.tests.Where(x => x.Id== id).ToList();
    var test2= _db.tests2.Where(y => y.Id== id).ToList();
Run Code Online (Sandbox Code Playgroud)

我需要将测试列表中的第一个值与测试 2 列表中的第一个值相乘。反过来,第二个值应该乘以第二个值。

FirstYear、SecondYear、ThirdYear 等值来自测试列表。我需要将 test2 列表中的第一个 Price 值乘以 FirstYear,将第二个 Price 值乘以 SecondYear。这些列表的长度相同。

Syn*_*der 5

最简单的方法是使用 LINQ zip 方法:

var result = test.Zip(test2, (t1, t2) => t1 * t2).ToArray();
Run Code Online (Sandbox Code Playgroud)