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:(传递的。现在可以吗?
似乎这就是你要找的:
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>
。