我想比较两个列表,并将那些与我的要求不匹配的列表添加到另一个列表中。我真的不知道该怎么做。
我尝试了什么:
var componentForThisProject = mdal.Get_MethodComponents_Of_Project(project.Id);
var shapelist = this.diagram.Shapes;
var newlist = (from shape in shapelist
where componentForThisProject.Any(
p =>
p.X_coordinate == Math.Round(shape.Position.X, 0) &&
p.Y_coordinate == Math.Round(shape.Position.Y, 0)
)select shape).ToList();
这项工作,但正如你所看到的那样,我做了与我想做的相反的事情。它添加了匹配的所有内容。我当然试图将==运算符更改为!=然后它只是将所有内容添加到我的新列表中。
我正在使用Telerik btw。
有什么想法吗?
答案 0 :(得分:0)
这有效:
var newlist = (from shape in shapelist
where !componentForThisProject.Any(
p =>
p.X_coordinate == Math.Round(shape.Position.X, 0) &&
p.Y_coordinate == Math.Round(shape.Position.Y, 0)
)select shape).ToList();