c# - 如何从列表中删除在同一列表中有父项的项目

标签 c# linq

我有一个 List<Item> .

如何使用 LINQ 删除在同一列表中有父项的项?

如果可能的话,我更喜欢方法链表达式。

项目定义:

public class Item {
        public int Id { get; set; }
        public int ParentId { get; set; }
    }

最佳答案

var Children = List.Where(child => List.Any(parent => parent.Id == child.ParentID)).ToList();
List.RemoveAll(child => Children.Contains(child));

关于c# - 如何从列表中删除在同一列表中有父项的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15680563/

相关文章:

c# - 如何在 EF Linq 中使用 MySQL 函数 'Date'

c# - 优化 LINQ 例程

c# - 将 ASP.NET Core WEB API ModelState 错误放入 Angular 6 中的数组

c# - 拟合 Akima 样条曲线

c# - 使用 .NET 检测用户远离 PC

c# - LINQ to DataSet 多表左连接

c# - LINQ 比较两个集合的多个属性

c# - 大数字的 IsNumeric Helper 方法

c# - 数组索引超出范围,但应进行定义。编程新手

c# - 如何在基类中盲目引发事件而不从派生类调用它