【发布时间】:2012-02-28 19:49:28
【问题描述】:
我确信必须有更好的方法来做到这一点......
// Simplified code
var a = new List<int>() { 1, 2, 3, 4, 5, 6 };
var b = new List<int>() { 2, 3, 5, 7, 11 };
var z = new List<int>();
for (int i = 0; i < a.Count; i++)
if (b.Contains(a[i]))
z.Add(a[i]);
// (z) contains all of the numbers that are in BOTH (a) and (b), i.e. { 2, 3, 5 }
我不介意使用上述技术,但我想要一些快速有效的方法(我需要多次比较非常大的列表),而这似乎两者都不是!有什么想法吗?
编辑:因为它有所不同 - 我使用的是 .NET 4.0,初始数组已经排序并且不包含重复项。
【问题讨论】: