在C#中使用LINQ比较两个List <string>

Vah*_*hid 3 c# linq list

根据,顺序数量比较两个列表的最佳方法是什么.所以下面的所有列表应该是不同的.

var list1 = new List<string> { "1", "2" };
var list2 = new List<string> { "2", "1" };
var list3 = new List<string> { "1", "2", "3" };
Run Code Online (Sandbox Code Playgroud)

Mat*_*els 5

如何使用SequenceEqual.

http://ideone.com/yZeYRh

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
Run Code Online (Sandbox Code Playgroud)

它来自命名空间System.Linq,可以在任何名称上使用IEnumerable.

您也可以传递给它IEqualityComparer,例如也可以:

var d = new [] { "a", "B" };
var e = new [] { "A", "b" };

Console.WriteLine(d.SequenceEqual(e, StringComparer.OrdinalIgnoreCase)); // true
Run Code Online (Sandbox Code Playgroud)