很抱歉发布这个愚蠢的问题,但我确实需要你的帮助
我在c#中有两个列表。我们称他们为list<objet1> listObjet1
和list<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>
答案 0 :(得分:2)
您正在寻找一个简单的Join
:
var result = listObjet1.Join(listObjet2, o1 => o1.Id, o2 => o2.Id, (o1, o2) => o1).ToList();