考虑下面的两个列表,最好的比较方法是什么?比较两个列表内容的最有效方法是什么?
var a = new List<string>() { "2016", "2017" };
var b = new List<string>() { "2017", "2018" };
考虑下面的两个列表,最好的比较方法是什么?比较两个列表内容的最有效方法是什么?
var a = new List<string>() { "2016", "2017" };
var b = new List<string>() { "2017", "2018" };
对于独立的顺序比较:
bool result = a.Count == b.Count && a.Intersect(b).Count() == a.Count;
直接从文档:“SetEquals'方法忽略重复的条目和另一个参数中元素的顺序。”所以你需要了解这些规则是否适用于OP。看起来好像命令不是问题,但重复可能会(通过散列集减轻不允许重复)。 –
@AdamHouldsworth“独立于订单”让我觉得他们没有订购。 – Slai
我知道,我评论的同样多 - 我只是添加更多的信息给一行代码的答案。 –
这为我工作(但名单必须是有序的和独特的):
a.SequenceEqual(b)
谢谢你们的努力! :)
如果列表的排列顺序不同,您应该在问题中指定该列表。因此,而不是发布这个微不足道的答案,你最好删除整个帖子。 –
@IvanStoev它是在评论中指定的...... :) –
@AndréLuisTosatodaCruz,你说“独立于订单”,这意味着它们没有订购,并且没有提到鲜明的。 ({1,1}!= {1}) –
名单是否有序?内存效率或运行效率? (或者两者都有?更重要的是什么?)你需要知道它们是不同的还是完整的差异清单? –
你需要/想要什么样的比较结果? –
@OriNachum独立于订单,运行效率,我需要知道他们是不同的。谢谢:) –