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

10-13 06:48