从多列表中选择的方法

时间:2011-11-05 13:45:26

标签: c# linq

我有两个列表。想要比较它们

foreach (SQLFrameWorkEntity item in oListParent)
{
   foreach (SQLFrameWorkEntity item2 in oList)
   {
      if (item.TableNumber == item2.ReferenceNumber 
          && item.TableNumber!=item2.TableNumber)
      {
           oListReferenceTable.Add(item2);
      }
   }
}

我尝试在linq中实现这个结果,但是下面的语法并没有给我所需的输出。

var r = oListParent.Select(p => 
                      oList.Select(q => q.ReferenceNumber == p.TableNumber))
                   .ToList();

帮助我更正上面的linq语法来实现所需的输出 如果有查询请问。请提前谢谢

2 个答案:

答案 0 :(得分:3)

var r = oList.Where(x => oListParent.Any(y => y.TableNumber == x.ReferenceNumber &&
                                              y.TableNumber != x.TableNumber))
             .ToList()

答案 1 :(得分:2)

var result = from item in oListParent 
             join item2 in oList on item.TableNumber equals item2.ReferenceNumber
             where item.TableNumber != item2.TableNumber
             select item2;