2011-12-14 7 views
1

の2つの同一のリストを比較するのは、私は次のコードがあるとしましょう:あなたは、私が同一の項目と二つのリストを持って見ることができると同様は、文字列

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

    if (numbers.Equals(numbers2)) 
    { 

    } 

を。 1つの方法を使ってこれらの2つのリストが等しいかどうかを確認する方法はありますか?

SOLUTION:

使用SequenceEqual()

おかげで最初

+1

http://stackoverflow.com/questions/1546925/comparing-two-liststring-for-equalityを参照してください。 – dash

+0

シーケンスアイテムの位置が考慮されていますか? – sll

+0

@Ozkan重複があった場合はどうなりますか? 'numbers:{1,1,2}'や 'numbers2:{1,2} 'のようなものは同じだと思いますか? –

答えて

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; 
+2

それは私の答えでしょう。重複が重要かどうかだけで決まります。もしそうなら、これは偽陽性を返すでしょう。 –