我有以下2个对象
List<string> list1
List<string> list2
Run Code Online (Sandbox Code Playgroud)
在列表1上我有3个项目在列表2上我有不同顺序的相同3个项目.
我需要一个简单的方法来返回两个列表相等,当它们包含相同的元素而不管顺序
Mar*_*zek 14
您可以使用SequenceEqual
其他订单:
return list1.OrderBy(x => x).SequenceEqual(list2.OrderBy(x => x));
Run Code Online (Sandbox Code Playgroud)
您可以使用All
和这样的Contains
方法,如果两个列表包含相同的元素,即使顺序不同,也会返回true:
bool control = list1.All(x => list2.Contains(x) &&
list1.Count(a => a == x) == list2.Count(b => b == x));
Run Code Online (Sandbox Code Playgroud)