C# Linq,确定列表是否相等

C# Linq,确定列表是否相等,c#,linq,C#,Linq,如何确定列表中的项目是否相等 List<List<int>> equals = new List<List<int>>() { new List<int>() { 1,2 }, new List<int>() { 1,2 } }; List<List<int>> notEquals = new List<List<int>>() { new List&

如何确定
列表中的项目是否相等

List<List<int>> equals = new List<List<int>>()
{
    new List<int>() { 1,2 },
    new List<int>() { 1,2 }
};

List<List<int>> notEquals = new List<List<int>>()
{
    new List<int>() { 1,2 },
    new List<int>() { 2,500}
};
List equals=新列表()
{
新列表(){1,2},
新列表(){1,2}
};
List notEquals=新列表()
{
新列表(){1,2},
新列表(){2500}
};

您需要将第一个列表与所有其他列表进行比较,您可以使用
SequenceEqual

List<int> first = yourLists[0];
bool allEqual = yourLists.Skip(1).All(l => first.SequenceEqual(l));
List first=yourLists[0];
bool allEqual=yourLists.Skip(1).All(l=>first.SequenceEqual(l));

由于
All
在第一个不相等的列表上返回
false
,这是非常有效的。

列表
{1,2}
{2,1}
是否相等?秩序重要吗?你试过什么吗?@DmitryBychenko秩序不重要。@SergiiZhevzhyk。没有重复。在我的示例中,我只有2项,但最终more@BobyOneKenobi:在这种情况下,被接受的Tim Schmelter的答案不是您想要的:
SequenceEqual
取决于顺序。好。但这不管用吗
bool allEqual=first.SequenceEqual(yourLists[1])@user2946329:如果列表只能包含两个子列表,则该子列表也可以工作。但是,即使我的方法包含两个以上的参数,它仍然有效。您仅将第一个列表与第二个列表进行比较。如果有第三个列表是不相等的呢?对。所以你的答案更全面。