這個問題在這里已經有了答案: 相交兩個陣列 2 個答案 8 天前關閉。
我有 2 個 Int 陣列,我只想保留第二個陣列中包含第一個陣列元素的元素。
int [] first = new int[2] { 1, 2};
int [] second = new int[5] { 99, 1, 2, 97, 95};
我嘗試過類似下面的方法。
foreach(int x in first){
second.Where(s=>s==x);
}
但這對我沒有幫助,因為我需要比較第一個陣列中的兩個元素
second.Where(s=>s==x[0] && s[1])
如果 int 更大,我需要。你有什么想法如何低于代碼行嗎?
second.Where(s=>s==x[0] && s== x[1] && ... && s==x[n])
uj5u.com熱心網友回復:
var elements = second.Where(first.Contains);
也許用.ToList()orToArray()來實作它。
如果第一個串列真的很大,您可以考慮比該.Contains方法更快的版本,但對于您的串列,這將是矯枉過正。
uj5u.com熱心網友回復:
var firstSet = first.ToHashSet();
var result = second.Where(x => firstSet.Contains(x)).ToArray();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/510658.html
