我有一个可观察的集合,即所有者和该集合有儿童项目,即狗。
现在给出了另一个本地狗的集合,我如何选择所有在我当地的狗集合中存在狗的所有者。平等条件是狗==狗。
答案 0 :(得分:5)
以下行应该可以解决问题。这将为您提供所有业主,其中至少有一只狗在当地名单中。
owners.Where(owner => owner.Dogs.Any(dog => localDogs.Contains(dog)))
如果您只想要所有狗都在本地列表中的所有者,请使用以下内容。
owners.Where(owner => owner.Dogs.All(dog => localDogs.Contains(dog)))
微小差异是Any()
vs。 All()
。