C# 使用Linq获取列表中的列表
我需要使用linq(lambda)返回列表中的一个列表,但是仍然没有得到所需的语法 我有一个WikiMeta列表,我想查询并返回所有WikiGroups作为一个新列表 注意:某些属性已从清晰度中删除C# 使用Linq获取列表中的列表,c#,linq,C#,Linq,我需要使用linq(lambda)返回列表中的一个列表,但是仍然没有得到所需的语法 我有一个WikiMeta列表,我想查询并返回所有WikiGroups作为一个新列表 注意:某些属性已从清晰度中删除 List<WikiMeta> Meta; public class WikiMeta { public List<WikiGroup> Groups = new List<WikiGroup>(); } public class WikiGroup {
List<WikiMeta> Meta;
public class WikiMeta
{
public List<WikiGroup> Groups = new List<WikiGroup>();
}
public class WikiGroup
{
public string Name { get; set; }
}
List元;
公共类WikiMeta
{
公共列表组=新列表();
}
公共类维基组
{
公共字符串名称{get;set;}
}
您可以使用选择多个
将它们作为一个平面列表获取:
var groups = meta.SelectMany(m => m.Groups).ToList();
这将为您提供一个列表
您可以在主列表上执行任何查询,如下所示:
var filteredGroups = meta
.Where(m => m.IsActive) // Fictional "IsActive" boolean property.
.SelectMany(m => m.Groups)
.ToList();
使用这种流畅的函数式方法查询集合,您可以开始构建更复杂的查询
如果希望将查询推迟到迭代后再执行,请删除ToList
,这将为您提供一个IEnumerable
,您可以使用SelectMany
将它们作为一个平面列表获取:
var groups = meta.SelectMany(m => m.Groups).ToList();
这将为您提供一个列表
您可以在主列表上执行任何查询,如下所示:
var filteredGroups = meta
.Where(m => m.IsActive) // Fictional "IsActive" boolean property.
.SelectMany(m => m.Groups)
.ToList();
使用这种流畅的函数式方法查询集合,您可以开始构建更复杂的查询
如果希望将查询推迟到迭代后再执行,请删除ToList
,这将给您一个IEnumerable
问题。您是否正在尝试筛选列表
?您可以使用查找SelectMany
,例如:Meta.SelectMany(m=>m.Groups)代码>问题不清楚。您是否正在尝试筛选列表
?您可以使用查找SelectMany
,例如:Meta.SelectMany(m=>m.Groups)代码>