2010-06-18 4 views
2

Как проверить, равны ли две коллекции, согласно каждой паре элементов, равной .Equals()?Как проверить взаимное равенство двух коллекций

Я нахожу, что пишу небольшую функцию (приведенную ниже), которая кажется сверху. Я полагаю, что для этого должен быть гораздо более простой способ.

bool ListsEqual<T>(IList<T> lhs, IList<T> rhs) where T : IEquatable<T> { 
    if (lhs == rhs) { 
     return true; 
    } 

    if (lhs.Count == rhs.Count) { 
     for (int i = 0; i < lhs.Count; i++) { 
      if (lhs[i].Equals(rhs[i]) == false) { 
       return false; 
      } 
     } 
     return true; 
    } else { 
     return false; 
    } 
} 

ответ

Смежные вопросы