c# - 从另一个 List<> 中删除 List<> 中包含的对象?

标签 c# linq list

我有一个包含在列表<>中的对象,我需要从另一个列表中删除它们<>

例如

List<MyObject> AllElements = new List<MyObject>();
List<MyObject> SearchResults = new List<MyObject>();

... 做一些事情使得 SearchResults 包含 AllResults 中包含的对象的子集

目前我这样做是为了从主列表中删除它们:

for(int i = 0; i < SearchResults.Count; i++) 
    AllElements.Remove(SearchResults[i]); 

有没有更好的[linqier!]方式?

最佳答案

您可以使用 Enumerable.Except Method (来自MSDN)

列表<MyObject> FilteredElements = AllElements.Except(SearchResults).ToList();

关于c# - 从另一个 List<> 中删除 List<> 中包含的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3515472/

相关文章:

c# - 当在其上绘制线条时,滚动条不会出现在面板上 (C#)

c# - 是否有更简洁的 Linq 表达式用于在列表中的每个项目之间插入常量?

c# - 如何将 IQueryable<T> 转换为 Expression<Func<T, bool>>?

C++ 迭代器访问下一个元素进行比较

c# - 在初始化成员变量时使用 default 关键字是不是一个坏主意?

c# - Blazor 请求被 PHP API 上的 CORS 策略阻止

c# - 如何在 MVC 应用程序中设置 Unity 容器

c# - 如何使用 UNION 对字符/字符串数组进行分组?

list - Mathematica - 初始化变量列表

list - Prolog列表问题