根据值、顺序和值数量比较两个列表的最佳方法是什么。所以下面的所有列表都应该不同。
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
关于c# - 在 C# 中使用 LINQ 比较两个 List<string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23442398/