我有一个List<A>
,其中A包含一个称为TypeId
的属性,一个List<B>
,其中B也包含一个称为TypeId
的属性
我想从List<A>
中选择所有项目,其中List<B>
包含其中B.TypeId == A.TypeId
ListA.Add(new A { TypeId = 1 });
ListA.Add(new A { TypeId = 2 });
ListA.Add(new A { TypeId = 3 });
ListB.Add(new B { TypeId = 3 });
ListB.Add(new B { TypeId = 4 });
ListB.Add(new B { TypeId = 1 });
???? // Should return items 1 and 3 only
最有效的方法是什么?
我知道它很简单,但是今天我的大脑却变得愚蠢。
最佳答案
使用LINQ,使用Join方法相当简单。
var join = ListA.Join(ListB, la => la.TypeId, lb => lb.TypeId, (la, lb) => la);
关于c# - 如何在ListA中选择具有与ListB中的项目属性匹配的属性的项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10759948/