使用 Linq 获取列表中的列表
本文关键字:列表 获取 Linq 使用 | 更新日期: 2023-09-27 18:36:52
我需要使用 linq(lambda) 在列表中返回一个列表,但是,仍然没有得到所需的语法。
我有一个维基元维基列表,我想查询并将所有维基组作为新列表返回。
注意:某些属性已从清晰度中删除。
List<WikiMeta> Meta;
public class WikiMeta
{
public List<WikiGroup> Groups = new List<WikiGroup>();
}
public class WikiGroup
{
public string Name { get; set; }
}
您可以使用以下
SelectMany
方法将它们全部作为平面列表获取:
var groups = meta.SelectMany(m => m.Groups).ToList();
这会给你一个List<WikiGroup>
.
SelectMany
文档 .
您可以对主List<WikiMeta>
执行所需的任何查询,如下所示:
var filteredGroups = meta
.Where(m => m.IsActive) // Fictional "IsActive" boolean property.
.SelectMany(m => m.Groups)
.ToList();
使用这种流畅样式的函数方法来查询集合,可以开始构建更复杂的查询。
如果您希望将查询延迟到迭代,请删除ToList
,这将为您提供IEnumerable<WikiGroup>
。