LINQ RemoveAll属性不起作用

时间:2014-02-18 12:54:02

标签: c# .net linq

我有一个模块对象,而Module的属性是Scenes

场景是一个列表;

我想删除名称为old_filenameString)的所有场景。

我已经实现了下面的代码,但它不起作用,我想我可能会接近。

Module
    +Scenes = List<Scene>

Scene
    +Name (String)

LINQ

    mod.Scenes.RemoveAll(x=> !mod.Scenes.Any(y=>y.Name== old_filename ));

2 个答案:

答案 0 :(得分:5)

您似乎在RemoveAll条件中查找相同的列表。假设您要删除任何Scene属性设置为Name的{​​{1}},您需要做的只是

old_filename

答案 1 :(得分:0)

请尝试这个:

mod.Scenes.RemoveAll(x=> x.Name==old_filename);