Lambda表达式,用于根据索引从列表中获取项目

时间:2010-11-12 22:29:00

标签: c# lambda

是否可以一次根据索引从列表中获取对象?例如,我有List<string> alist。我有一个整数列表List<int> indexes,它有索引。是否可以从原始列表中获取等于数组中索引的结果列表。

我正在寻找类似List<string> resultlist = alist.GetItems(items.indexin(indexes))的东西(这只是我的想象力,而不是实际的语法 - 抱歉)

3 个答案:

答案 0 :(得分:4)

这样的事情应该有效:

var result = indexes.Select(i => alist[i]).ToList();

当然,我建议你让它更健壮。

答案 1 :(得分:1)

var result = alist.Where((theString, theIndex) => indexes.Contains(theIndex)); 

答案 2 :(得分:0)

indexes.Select<int, string>(i => alist[i]).ToList<string>();