比较两个相同的字符串列表

时间:2011-12-14 16:30:33

标签: c# asp.net linq list

假设我有以下代码:

    List<string> numbers = new List<string> { "1", "2" };
    List<string> numbers2 = new List<string> { "1", "2"};

    if (numbers.Equals(numbers2))
    {

    }

就像你可以看到我有两个相同项目的列表。有没有办法通过使用一种方法检查这两个列表是否相等?

SOLUTION:

使用SequenceEqual()

由于

2 个答案:

答案 0 :(得分:4)

首先使用Enumerable.SequenceEqual,但Sort列表。

答案 1 :(得分:2)

// if order does not matter
bool theSame = numbers.Except(numbers2).Count() == 0;

// if order is matter
var set = new HashSet<string>(numbers);
set.SymmetricExceptWith(numbers2);
bool theSame = set.Count == 0;