c#中向列表中添加元素的条件

本文关键字:条件 元素 列表 添加 | 更新日期: 2023-09-27 18:08:17

我有一个double dSet[,]的多维数组,其中每行有1500个元素。我有一个List<int> index,有100个整数值(0 - 1499)。现在,我必须创建一个包含100个元素的List<double> val,其中每个元素都是dSet[0, I],其中I是List<int> index的一个元素。我知道使用一个简单的循环可以很容易地做到这一点。我想知道是否可以使用c#中使用LinQ的单个语句来完成。

编辑:谢谢你的回答。对不起,我忘了说dSet是作为ref:(传递的。现在可以吗?

c#中向列表中添加元素的条件

似乎这就是你要找的:

index.Select(i => dSet[0, i]).ToList();

关键是选择到您的index列表中,从dSet中为列表中的每个值选择一个值。

当然-这只是从索引的每个元素的投影:

List<double> val = index.Select(i => dSet[0, i]).ToList();

任何时候你都有一些东西沿着"对于的每个元素,做一些事情来获得基于该元素的输出值"的行,这很可能最终成为source.Select(...),其中...是"做一些事情来获得基于该元素的输出值"的表达式。

ToList()只是将结果(一个IEnumerable<double>)转换成一个List<double>