【发布时间】:2014-03-17 07:45:28
【问题描述】:
我有一个名为 Parent 的对象和一个名为 Child 的对象列表。 Parent 对象还有一个 Child 的列表。
public class Parent
{
public Parent()
{
Children = new List<Child>();
}
public string Name { get; set; }
public IList<Child> Children { get; set; }
}
public class Child
{
public string Name { get; set; }
....
}
现在我想从列表中获取那些不存在于父母的孩子列表中的孩子。
如何使用 linq/lambda 表达式实现这一点?
我尝试过的代码没有成功:
Parent parent = GetParent();
List<Child> children = GetChildren();
var notExistingChildren = children.Where(child => !parent.Children.Any(ch => ch.Name == child.Name)).ToList();
children 有 1 个元素在 parent.Children 中不存在,但此表达式没有获取该元素并将其分配给 notExistingChildren。
【问题讨论】:
-
那么,您目前的方法到底有什么问题?你能提供(不)匹配的名字吗?
标签: c#