ahs*_*ele 0 c# lambda removeall
我正在使用List<T>包含父对象和子对象的a.在此列表中,子对象知道其相关的父对象,反之亦然.使用此列表,我正在尝试实现一个业务规则,当父级属于某种类型时,最多可以从列表中删除4个子对象.换句话说,如果此类型的父级有20个孩子,则应从列表中删除其中的4个孩子.
我在这里概述的代码将RemoveAll符合条件的子对象.这是预期的,但我想做的是限制RemoveAll只删除4个孩子.有没有办法做到这一点,RemoveAll或者我应该使用另一种方法吗?
myList.RemoveaAll(item =>
item.Child && "Foo".Equals(item.Parent.SpecialType));
Run Code Online (Sandbox Code Playgroud)
该采取扩展方法被用来从一个IEnumerable抢匹配的第一n个.然后,您可以遍历匹配并从列表中删除它们.
var matches = myList.Where(item => item.Child && "Foo".Equals(item.Parent.SpecialType)).Take(someNumber).ToList();
matches.ForEach(m => myList.Remove(m));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |