使用另一个List <objet2> </objet2> </objet1>过滤列表<objet1>

时间:2014-02-28 09:30:41

标签: c# linq

很抱歉发布这个愚蠢的问题,但我确实需要你的帮助 我在c#中有两个列表。我们称他们为list<objet1> listObjet1list<objet2> listObjet2

以下是问题:我想根据list<objet1>objet2

中的某些匹配值以某种方式过滤objet1
public class Objet1 
{
    public int Id { get; set; }

    public string Libelle { get; set; }

    public string IdObjet2 { get; set; }
 }
public class Objet2 
{
    public int Id { get; set; }

    public string Libelle { get; set; }

    public string IdTrain { get; set; }
 }

我渴望List<Objet1> Objet2.Id等于Objet1.Id,我试过这些Linq

 List<Objet1> listObjet1= (listObjet1.Select(p => p.id).Contains(listObjet2.Select(q=>q.idObjet1)))toList(); 
 List<Objet1> listObjet1= (listObjet1.Select(p => p.id).Equal(listObjet2.Select(q=>q.idObjet1))).toList();   

Equal()只能返回一些我不需要的列表,例如List<int>;

我需要的只是List<Objet1>

1 个答案:

答案 0 :(得分:2)

您正在寻找一个简单的Join

var result = listObjet1.Join(listObjet2, o1 => o1.Id, o2 => o2.Id, (o1, o2) => o1).ToList();