且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

我应该如何在两个列表中每个元素的值进行比较?

更新时间:2023-02-05 16:17:32

您可以使用 SequenceEqual 如果它们已经以直接

You can use SequenceEqual if they are already in order directly

expectedValueList.SequenceEqual(actualvalueList);

如果他们不是为了比你可以使用序列等于像

前应用排序中>

if they are not in order than you can apply ordering as well before using sequence equal like

expectedValueList.OrderBy(x => x).SequenceEqual(actualvalueList.OrderBy(y => y));



示例

Example

List<int> l1 = new List<int> { 1, 2, 3, 4 };
List<int> l2 = new List<int> { 3, 1, 2, 4 };

if (l1.OrderBy(x => x).SequenceEqual(l2.OrderBy(y => y)))
{
     Console.WriteLine("List are equal"); // will write this
}

if (l1.SequenceEqual(l2))
{
     Console.WriteLine("List are equal"); 
}
else
{    
     Console.WriteLine("List are not equal"); // will write this    
}