我有一个 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/