C# 如何使用LINQ从列表列表中输出由单个索引构造的整数列表?
我有一个包含一些数字的列表。我希望在每个列表中构造第二个索引元素的输出列表。我可以使用普通循环实现这一点,但我想知道如何使用LINQ实现同样的事情 我现在的例子是:C# 如何使用LINQ从列表列表中输出由单个索引构造的整数列表?,c#,linq,C#,Linq,我有一个包含一些数字的列表。我希望在每个列表中构造第二个索引元素的输出列表。我可以使用普通循环实现这一点,但我想知道如何使用LINQ实现同样的事情 我现在的例子是: List<int> output = new List<int>(); foreach (List<int> list in Data) output.Add(list[2]); List output=新建List(); foreach(数据中的列表) output.Add(列表[2]
List<int> output = new List<int>();
foreach (List<int> list in Data)
output.Add(list[2]);
List output=新建List();
foreach(数据中的列表)
output.Add(列表[2]);
var输出=数据。选择(list=>list[2])。ToList()代码>
这是直译。我认为它比手动编写的循环要好得多,因为它的冗余度更低,而且组合性也更好。var output=Data.Select(list=>list[2]).ToList()代码>
这是直译。我认为它比手动编写的循环要好得多,因为它的冗余度更低,而且组成也更好。您可以使用。选择。我还将进行检查,以确保预期的数字实际存在:
var results = Data.Where(d => d.Count > 2).Select(d => d.list[2]);
您可以使用。选择。我还将进行检查,以确保预期的数字实际存在:
var results = Data.Where(d => d.Count > 2).Select(d => d.list[2]);
该检查最好在有异常的情况下进行,这样可能的bug就不会被悄悄地吞没。最终目标是正确性,而不是例外的自由。非常正确。取决于需求,我猜您必须使用Count
,因为数据包含List
项,所以最好在异常情况下进行检查,以避免潜在的bug被悄悄吞没。最终目标是正确性,而不是例外的自由。非常正确。取决于需求,我猜您必须使用Count
,因为数据包含List
itemsThanks!我喜欢LINQ看起来多么强大,但我发现它很难学习。请查看101个LINQ示例。LINQ现在是一项基本技能。谢谢!我喜欢LINQ看起来多么强大,但我发现它很难学习。请查看101个LINQ示例。LINQ是当今的一项基本技能。