我有一个模块对象,模块的属性为Scenes

场景是一个列表;

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

我已经实现了以下代码,但无法正常工作,我想我可能会接近。

Module
    +Scenes = List<Scene>

Scene
    +Name (String)


LINQ

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

最佳答案

您似乎在RemoveAll条件内查找了相同的列表。假设您要删除其Scene属性设置为Name的任何old_filename,您所需要做的就是

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

10-08 14:49