Linq查询从另一个列表中选择列表中的项目

Linq查询从另一个列表中选择列表中的项目,linq,Linq,我有一本字典和一张单子 AllMeta: is a dictionary<string, WikiMeta> Meta: is a list<WikiMeta> public class WikiMeta { public string ContentTitle { get; set; } public string PageTitle { get; set; } public string PageMetaDescription { get;

我有一本字典和一张单子

AllMeta: is a dictionary<string, WikiMeta>

Meta: is a list<WikiMeta>

public class WikiMeta
{
    public string ContentTitle { get; set; }
    public string PageTitle { get; set; }
    public string PageMetaDescription { get; set; }
    public List<WikiArticle> Articles = new List<WikiArticle>();
    public List<WikiGroup> Groups = new List<WikiGroup>();
}

public class WikiGroup
{
    public string Name { get; set; }
}
AllMeta:是一本字典
梅塔:这是一个列表
公共类WikiMeta
{
公共字符串ContentTitle{get;set;}
公共字符串PageTitle{get;set;}
公共字符串PageMetaDescription{get;set;}
公共列表文章=新列表();
公共列表组=新列表();
}
公共类维基组
{
公共字符串名称{get;set;}
}
我需要从AllMeta中选择值,其中AllMeta.values.Group==Meta.Group返回WikiMeta列表

但是,我正在努力构造语法(lambda),因此如果您有任何帮助,我将不胜感激。

尝试以下方法:

List<WikiMeta> wikis= AllMeta.Values
                             .Where(allmeta => 
                              Meta.Any(meta=> meta.Group == allmeta.Group))
                             .ToList();
试试这个:

List<WikiMeta> wikis= AllMeta.Values
                             .Where(allmeta => 
                              Meta.Any(meta=> meta.Group == allmeta.Group))
                             .ToList();
试试这个:

List<WikiMeta> wikis= AllMeta.Values
                             .Where(allmeta => 
                              Meta.Any(meta=> meta.Group == allmeta.Group))
                             .ToList();
试试这个:

List<WikiMeta> wikis= AllMeta.Values
                             .Where(allmeta => 
                              Meta.Any(meta=> meta.Group == allmeta.Group))
                             .ToList();

谢谢你的回复。我遗漏了WikiMeta可以有多个组,因此是一个列表。感谢回复Manish。我遗漏了WikiMeta可以有多个组,因此是一个列表。感谢回复Manish。我遗漏了WikiMeta可以有多个组,因此是一个列表。感谢回复Manish。我遗漏了WikiMeta可以有多个组,因此是一个列表。