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