1

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

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

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

如果不使用 foreach 即在单个 lambda 表达式中,这可能吗?

4

2 回答 2

4

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

strList = intList.Select(i => result.ElementAt(i).ToString()).ToList();
于 2013-09-16T07:44:44.887 回答
1

最后一行是所需的 lambda:

var strings = new [] { "one", "two", "three", "four", "five"};
var ints = new [] { 2, 4};
var result = ints.Select(i=>strings[i]); // returns "three", "five"
于 2013-09-16T07:58:13.257 回答