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