我有一个包含一些数字的列表列表。我希望在每个列表中构造第二个索引元素的输出列表。我能够使用普通循环实现这一点,但是想知道如何使用LINQ实现相同的功能呢?
我目前的例子:
List<int> output = new List<int>();
foreach (List<int> list in Data)
output.Add(list[2]);
答案 0 :(得分:4)
var output = Data.Select(list => list[2]).ToList();
这是直接翻译。我认为它比手动编写的循环要好得多,因为它不那么多余并且编写得很好。
答案 1 :(得分:1)
您可以使用.Select
。我还会检查以确保实际存在的数字:
var results = Data.Where(d => d.Count > 2).Select(d => d.list[2]);