比较两个列表并返回匹配项的最快,最好的方法是什么。
只能进行一场比赛。 List1包含来自数据库的动态数据。
我现在的方式:
foreach (var item1 in List1)
{
foreach (var item2 in List2 )
{
if(item2 == item1)
string match = item1;
}
}
我感觉可以更快地完成。
最佳答案
var matchItem = List1.Intersect(List2).First();
不确定是否可以比当前代码快多少,您可以使用Stopwatch进行测量。但是在您当前的代码中,您应该在找到匹配项时中断内部循环和外部循环。就像是:
foreach (var item1 in List1)
{
string match = null;
foreach (var item2 in List2)
{
if (item2 == item1)
{
match = item1;
break;
}
}
if (match != null)
break;
}
关于c# - 比较列表并在C#中返回匹配项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16435152/