我有一本字典和一份清单。
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中选择值,其中AllMeta.Values.Group == Meta.Group返回WikiMeta列表。
但是,我正在努力构建语法(lambda),所以任何帮助都会受到赞赏。
答案 0 :(得分:3)
试试这个:
List<WikiMeta> wikis= AllMeta.Values
.Where(allmeta =>
Meta.Any(meta=> meta.Group == allmeta.Group))
.ToList();
我假设跟随:
public class WikiMeta
{
public string Name { get; set; }
public string Group { get; set; }
}
public IDictionary<string,WikiMeta> AllMeta { get; set; }
public List<WikiMeta> Meta { get; set; }
确保您引用了System.Linq
名称空间,即
using System.Linq;