【发布时间】:2016-02-10 19:21:22
【问题描述】:
我想比较两个集合。我相信我正在做很长的路(代码方面)。我想找出一个集合与另一个集合相比可能缺少哪些数字。顺序不重要。
class Program
{
static void Main(string[] args)
{
List< int> x = new List<int>() { 1 };
List< int> y = new List<int>() { 1, 2, 3 };
//find what numbers (if any) that x needs to have in order to have an identical list as y (order not important)
List<int> missingNumbers = new List<int>();
foreach (var number in y)
{
if (!x.Contains(number))
{
missingNumbers.Add(number);
}
}
foreach (var missingNumber in missingNumbers)
{
x.Add(missingNumber);
}
}
}
【问题讨论】:
-
y.Except(x)? -
重复项呢?
-
我希望 x 拥有与 y 相同的项目。顺序不重要。
-
这没有多大意义——你可以做
x = new List<int>(); x.AddRange(y)——当然还有更多的东西,只是让 x 和 y 有相同的项目? -
按照我的回答使用联合扩展方法。
标签: c# collections