List<int> one //1, 3, 4, 6, 7
List<int> second //1, 2, 4, 5
如何从第二个列表中获取一个列表中的所有元素?
在这种情况下应该是:1,4
我当然谈论没有foreach的方法。而是linq查询
答案 0 :(得分:49)
您可以使用Intersect方法。
var result = one.Intersect(second);
示例:强>
void Main()
{
List<int> one = new List<int>() {1, 3, 4, 6, 7};
List<int> second = new List<int>() {1, 2, 4, 5};
foreach(int r in one.Intersect(second))
Console.WriteLine(r);
}
输出:
1
4
答案 1 :(得分:4)
static void Main(string[] args)
{
List<int> one = new List<int>() { 1, 3, 4, 6, 7 };
List<int> second = new List<int>() { 1, 2, 4, 5 };
var result = one.Intersect(second);
if (result.Count() > 0)
result.ToList().ForEach(t => Console.WriteLine(t));
else
Console.WriteLine("No elements is common!");
Console.ReadLine();
}