删除符合条件的所有对象

P.B*_*key 0 c#

特定

        List<LabEntity> selected = originalSettings.SelectedInstanceLabs;
        List<LabEntity> available = Presenter.GetLabs(dateRange);
        if (!firstLoad)
        {
            //Remove selected labs from the available labs
            available.Remove(?);// Remove Where selected.Id = available.Id
        }  
Run Code Online (Sandbox Code Playgroud)

是否有可以完成多个项目任务的扩展方法?仅删除一次只能处理一个.其他Remove-type方法似乎也不适合任务.我可以在那里坚持一个foreach,但必须有一个更简洁的实现.

AlG*_*AlG 6

当然可以!

available.RemoveAll( ~delegate goes here~)

就像是; available.RemoveAll(a => selected.Exists(s => s.Id == a.Id));

请原谅我的4.0委托语法,不确定你使用的是哪个版本...

编辑:从评论更新(@vcsjones)