如果列表A中的至少一个实体与列表B中的实体匹配,则返回true或false

时间:2015-04-22 21:24:01

标签: c# linq list

我有两个清单:

List<int> a = new List() { 1, 2, 3 }
List<int> b = new List() { 4, 5, 6 }

我有这种方法......

public bool DoesExist(List<int> a, List<int> b)
{
    foreach (var item in a)
    {
        if (b.Contains(item)) { return true; }
    }
    return false;
}

该方法应该为DoesExist(a,b)

返回false

如果b是{3,4,5,6},它应该返回true ...

在Linq有一个更清洁的单行方式吗?

感谢

2 个答案:

答案 0 :(得分:6)

LINQ的一种可能性:

return a.Intersect(b).Any();

答案 1 :(得分:4)

是:

return a.Any(b.Contains);

归功于ReSharper ...试试吧。你会怀疑没有它你是如何生活的。没有链接 - 只是满意的客户...