1

可能是我的问题很常见。我在这里看到过Comparing Two collections。但我想比较两个复杂的集合。

public class Project
{
    public Int32 ProjectID { get; set; }
    public String ProjectName { get; set; }
    public String ProjectCode { get; set; }
}
public class Unit
{
    public Int32 UnitID { get; set; }
    public Int32 ProjectID { get; set; }
    public String UnitName { get; set; }
    public String UnitCode { get; set; }
}

这里项目和单元有一个名为的公共字段ProjectID。我有一个项目和单元的集合。对应项目集合中的每个项目,单元集合中有一个单元。并且单元集合中的​​一些单元不属于项目集合中的任何项目。我想过滤掉这些单位。我怎样才能使用 Linq 做到这一点。

4

2 回答 2

2

您可以使用 LINQ:

var result = units.Where(u => projects.All(p => p.ProjectID != u.ProjectID));
于 2012-10-13T06:57:50.240 回答
1
from u in unitCollection
from p in projectCollection
Where p.ProjectID == u.ProjectID
select u 
于 2012-10-13T06:58:46.500 回答