1

我有一个包含一些数字的列表列表。我希望在每个列表中构造第二个索引元素的输出列表。我可以使用普通循环来实现这一点,但想知道如何使用 LINQ 来实现相同的目标?

我目前的例子:

List<int> output = new List<int>();
foreach (List<int> list in Data)
    output.Add(list[2]);
4

2 回答 2

4

var output = Data.Select(list => list[2]).ToList();

这是直接翻译。我认为它比手动编写的循环更可取,因为它的冗余更少并且组合良好。

于 2013-09-24T11:09:17.427 回答
1

您可以使用.Select. 我还会检查以确保实际存在预期的数字:

var results = Data.Where(d => d.Count > 2).Select(d => d.list[2]);
于 2013-09-24T11:11:22.230 回答