我有2个清单:
List<int> listOne 说[1,2,3,4]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呢?
您可以使用Linq Zip,例如:
var results = listOne.Zip(listTwo,
(one, two) => one*100 / (decimal)two);
Run Code Online (Sandbox Code Playgroud)
注意:转换为十进制很重要,否则除法将产生整数输出(在测试数据中始终为零)