请告诉我如何解决问题。C#SQL Linq获取所有副本
我必须序列(数字A和数字B)。在输出中,我只需要第二个序列中可用的元素(数字B)。
int [] numbersA = {0,2,4,4,6,8,9}; int [] numbersB = {2,4};
numbersA - numbersB = 2,4,4
除()或相交()的多申” T的工作。
请告诉我如何解决问题。C#SQL Linq获取所有副本
我必须序列(数字A和数字B)。在输出中,我只需要第二个序列中可用的元素(数字B)。
int [] numbersA = {0,2,4,4,6,8,9}; int [] numbersB = {2,4};
numbersA - numbersB = 2,4,4
除()或相交()的多申” T的工作。
这听起来像你想要的东西,如:
var result = numbersA.Where(x => numbersB.Contains(x));
这没关系,如果numbersB
非常小,但因为它变大你可能要更改为:
var numbersBSet = new HashSet<int>(numbersB);
var result = numbersA.Where(x => numbersBSet.Contains(x));
创建从第二个列表HashSet查找很快,然后只是做:
int[] numbersA = { 0, 2, 4, 4, 6, 8, 9 };
int[] numbersB = { 2, 4 };
var set = new HashSet<int>(numbersB);
var finalList = numbersA.Where(n => set.Contains(n));