c# - 使用 Linq 从列表中删除

标签 c# .net linq linq-to-objects

所以,我有一个 A 类的对象列表,其中包含 B 类的对象的 List

class A 
{
  ...
  List<B> bs;
}

我有列表:

List<A> mainList;
List<B> listForRemoval;

我如何使用 Linq,通过从 bs 中删除存在于 listForRemoval 中的所有对象(对于 mainList 中的每个 A)来“清理”mainList?

我希望我没有让您对这个问题感到困惑。 :)

最佳答案

linq 本身可能不太适合,但您可以使用它的一些扩展方法。 Linq 通常主要用于选择,而不是处理。

mainList.ForEach(x=>x.bs = x.bs.Where(y=>!listForRemoval.Contains(y)).ToList());

关于c# - 使用 Linq 从列表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6288632/

相关文章:

c# - 如何使用 .NET Core 将 Base64 图像上传到 firebase

c# - JIT 编译器与离线编译器

.net - SSD 驱动器上奇怪的目录删除行为

带有 Entity Framework 4 的 ASP.NET MVC2 - 存储库中的 AsEnumerable() 或 ToList()?

c# - 如何从 ServiceController 确定 Windows.Diagnostics.Process

.NET GDI+ 图像大小 - 文件编解码器限制

c# - Trace.Write(string, string) 和 Trace.WriteLine(string, string) 不按类别过滤

c# - 将 Expression<Func<IBar, T>> 转换为 Expression<Func<Bar, T>>

.net - 如何向同事推广和/或销售 LINQ?

c# - 插入 MS Access 语句中的语法错误