标签: c#
我有一个列表和一个数组。我想找出数组中与列表中的元素匹配的数量/数量
List<int> list = new List<int>{ 1, 2, 3, 4 }; int[] array = new int[] { 1, 2 };
由于两个匹配元素是1和2,我期待计数2的结果。 有人可以指出我正确的方向吗?
答案 0 :(得分:4)
您可以使用Count扩展名方法使用一点Linq:
Count
var count = array.Count(list.Contains);
或者,如果您知道数组中没有重复值,则可以使用Intersect方法:
Intersect
var count = array.Intersect(list).Count();
答案 1 :(得分:2)
您可以使用:
int matches = list.Intersect(array).Count();
请注意,这仅在列表和数组仅包含唯一值时才有效。