gpt4 book ai didi

c# - 从列表 1 中删除不在列表 2 中的项目

转载 作者:IT王子 更新时间:2023-10-29 04:10:08 25 4
gpt4 key购买 nike

我正在学习写作 lambda expressions ,我需要有关如何从列表中删除不在另一个列表中的所有元素的帮助。

var list = new List<int> {1, 2, 2, 4, 5};
var list2 = new List<int> { 4, 5 };

// Remove all list items not in List2
// new List Should contain {4,5}
// The lambda expression is the Predicate.
list.RemoveAll(item => item. /*solution expression here*/ );

// Display results.
foreach (int i in list)
{
Console.WriteLine(i);
}

最佳答案

您可以使用 Contains 通过 RemoveAll 执行此操作:

list.RemoveAll( item => !list2.Contains(item));

或者,如果您只想要交集,请使用 Enumerable.Intersect会更有效率:

list = list.Intersect(list2).ToList();

区别在于,在后一种情况下,您不会得到重复的条目。例如,如果 list2 包含 2,在第一种情况下,您将得到 {2,2,4,5},在第二种情况下,您将得到 {2,4,5}.

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

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