Хорошее переопределение GetHashCode () для объектов списка Foo, соответствующих порядку
EnumerableObject : IEnumerable<Foo>
оборачиваетList<Foo>
ЕслиEnumerableObject a.SequenceEquals( EnumerableObject b)
тогда они равны.
Следовательно,GetHashCode
должен быть реализован. Проблема в том, что XOR для каждого элемента в списке будет возвращать один и тот же хеш-код для любого списка со всеми и только одинаковыми элементами, независимо от порядка. Это нормально с точки зрения его работы, но приведет ко многим коллизиям, которые замедляют поиск и т. Д.
Что хорошо, быстроGetHashCode
метод для списков объектов, который зависит от порядка?