gpt4 book ai didi

c# - 如何查找列表的元素是否在另一个列表中?

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

我想知道是否可以在第二个列表中找到第一个列表中的至少一个元素。

我可以看到两种方法。假设我们的列表是:

List<string> list1 = new[] { "A", "C", "F", "H", "I" };
List<string> list2 = new[] { "B", "D", "F", "G", "I" };

第一种方法使用循环:

bool isFound = false;
foreach (item1 in list1)
{
if (list2.Contains(item1))
{
isFound = true;
break;
}
}

第二种直接使用Linq:

bool isFound = list1.Intersect(list2).Any();

第一个写起来很长而且不是很直接/易于阅读。第二个简短明了,但性能会很低,尤其是在大型列表上。

有什么优雅的方法可以做到这一点?

最佳答案

第二个在大列表上比第一个有更好的表现。 Intersect 在检查另一个列表的元素的成员资格之前将一个列表的元素放入哈希表。

关于c# - 如何查找列表的元素是否在另一个列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5060663/

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