获取列表的所有索引的所有结果

本文关键字:结果 索引 列表 获取 | 更新日期: 2023-09-27 18:31:23

我有一个对象类型列表。我想从这个列表中获取所有结果,其索引等于另一个整数类型的列表中的值。这是我尝试过的:

intList - 整数
列表 result - 对象类型
列表 strList - 对象类型列表

intList.ForEach(iInt =>
  { strList.Add(result.ElementAt(iInt).ToString()); }
);  

这是否可能在不使用foreach的情况下,即在单个lambda表达式中?

获取列表的所有索引的所有结果

此 LINQ 表达式等效于您的 ForEach 语句(假设 strList 最初为空):

strList = intList.Select(i => result.ElementAt(i).ToString()).ToList();

最后一行是所需的 lambda:

var strings = new [] { "one", "two", "three", "four", "five"};
var ints = new [] { 2, 4};
var result = ints.Select(i=>strings[i]); // returns "three", "five"