Я пытаюсь сравнить два списка. Вот метод расширения Я пытаюсь использовать:Самый эффективный способ сравнить два списка <T>
public static bool EqualsAll<T>(this IList<T> a, IList<T> b)
{
if (a == null || b == null)
return (a == null && b == null);
if (a.Count != b.Count)
return false;
EqualityComparer<T> comparer = EqualityComparer<T>.Default;
for (int i = 0; i < a.Count; i++)
{
if (!comparer.Equals(a[i], b[i]))
return false;
}
return true;
}
Я уже задавал этот вопрос here. Но мне нужно больше информации об этом. ответчик сказал, что лучше использовать SequenceEqual вместо for
.
Теперь мой вопрос в том, какой из двух подходов является наиболее эффективным способом сравнения двух List<T>
?
[Horses ...] (http://ericlippert.com/2012/12/17/performance-rant/) –
Настоятельно рекомендую вам проверить первое условие и как вы оцениваете возврат. Это эффективно синтаксически. – MPelletier
@AlexeiLevenkov Возможно, мне следовало бы изменить название. –