LINQ C#使用2个列表计算List值

jAn*_*oni 2 c# linq

我有2个清单:

  1. List<int> listOne 说[1,2,3,4]
  2. List<int> listTwo 说[111,222,333,444]

现在我想List<int>使用上面的2个列表制作一个结果,进行一些计算[1*100/111, 2*100/222 ,... listOne[i]*100/listTwo[i].,...]

我尝试过的:

resultantList = listOne.Select((s, i) => new { s * 100 / listTwo[i] }).ToList();

resultantList = listOne.Select((s, i) => s * 100 / listTwo[i]).ToList();
Run Code Online (Sandbox Code Playgroud)

但这不编译.我应该如何构建LINQ呢?

Dav*_*idG 5

您可以使用Linq Zip,例如:

var results = listOne.Zip(listTwo, 
    (one, two) => one*100 / (decimal)two);
Run Code Online (Sandbox Code Playgroud)

注意:转换为十进制很重要,否则除法将产生整数输出(在测试数据中始终为零)