gpt4 book ai didi

c# - 从列表中删除不常见的项目

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:41 24 4
gpt4 key购买 nike

我有两个对象列表,其中一个对象的数量不同。现在,如果我做一个:

 var result = list1.Except(list2);

这会让我知道 list1 中的项目与不在 list2 中的项目之间的区别,对吧?如果可能的话,我想做的是在同一步骤中从 list1 中删除所有这些项目。我不想做的是必须遍历“结果”列表并将它们从 list1 中删除。这可能吗?

谢谢!

最佳答案

您可以使用 List.RemoveAll:

list1.RemoveAll(t => !list2.Contains(t));

这不需要创建一个新的集合,它也只需要一个循环来删除 list1 中但不在 list2 中的所有项目。但是,我假设您误解了 LINQ 的工作原理。 Enumerable.Except 是使用延迟执行实现的。这意味着直到 foreach 才会执行。 Except 对于大型列表也非常有效,因为它使用集合方法。

关于c# - 从列表中删除不常见的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18875342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com