如何基于值、顺序和值的数量比较两个列表。因此,下面的所有列表都应该是不同的。
var list1 = new List<string> { "1", "2" };
var list2 = new List<string> { "2", "1" };
var list3 = new List<string> { "1", "2", "3" };
如何基于值、顺序和值的数量比较两个列表。因此,下面的所有列表都应该是不同的。
var list1 = new List<string> { "1", "2" };
var list2 = new List<string> { "2", "1" };
var list3 = new List<string> { "1", "2", "3" };
使用SequenceEqual
如何?
var a = new [] { "1", "2", "3" };
var b = new [] { "1", "2" };
var c = new [] { "2", "1" };
Console.WriteLine(a.SequenceEqual(b)); // false
Console.WriteLine(a.SequenceEqual(c)); // false
Console.WriteLine(c.SequenceEqual(b)); // false
System.Linq
,可以用于任何IEnumerable
。IEqualityComparer
,以便执行如下操作:var d = new [] { "a", "B" };
var e = new [] { "A", "b" };
Console.WriteLine(d.SequenceEqual(e, StringComparer.OrdinalIgnoreCase)); // true
lista.Count() ==listb.Count() && lista.Zip(listb, Equals).All(a=>a);