如何使用LINQ在一个集合中找到与另一个集合中的项目匹配的项目?

时间:2019-05-07 13:19:26

标签: c# linq

我有两个通用集合:

List<Model> listA
List<Model> listB

puclic class Model 
{
  public int Id { get; set; }
  public bool IsFavorite { get; set; }
}

如何使用LINQ比较两个集合的ID,并且如果Id中的listB等于Id集的listA属性中的IsFavorite listAtrue,并返回更改后的listA集合。

2 个答案:

答案 0 :(得分:-1)

我认为您正在寻找与此类似的东西

foreach (var model in listA)
{
   if(listB.Any(x=> x.Id == model.Id))
   {
        model.IsFavorite = true;
   }
}

答案 1 :(得分:-2)

您可以尝试以下操作:

from aItem in listA 
            join bItem in ListB on aItem.id equals bItem.Id
            select new Model{ isFavorable = true, ....};