Мне интересно, могу ли я получить консенсус относительно того, какой метод лучше подходит для создания отдельного набора элементов: a C# HashSet или с помощью IEnumerable .Distinct(), который является функцией Linq?
Скажем, я просматриваю результаты запроса из базы данных с помощью DataReader, а мои параметры - добавлять объекты, которые я создаю, в List<SomeObject> или в HashSet<SomeObject>. С опцией List я завершаю что-то вроде:
myList = myList.Distinct().ToList<SomeObject>();
С HashSet, я понимаю, что добавление к нему элементов само по себе заботится о не дублировании, предполагая, что вы переопределили методы GetHashCode() и Equals() в SomeObject. Я в основном обеспокоен факторами риска и эффективности параметров.
Спасибо.