Что лучше для создания отдельных структур данных: HashSet или Linq's Distinct ()?

Мне интересно, смогу ли я прийти к единому мнению, какой метод является лучшим подходом для создания отдельного набора элементов: C # HashSet или с помощью IEnumerable's .Distinct () , что является функцией Linq?

Допустим, я просматриваю результаты запроса из БД с помощью DataReader, и мои варианты - добавить объекты, которые я создаю, в List или к HashSet С параметром List мне пришлось бы сделать что-то вроде:

myList = myList.Distinct (). ToList ( );

С HashSet , насколько я понимаю, добавление к нему элементов устраняет дублирование само по себе, если вы переопределили GetHashCode () и Equals () в SomeObject. В основном меня беспокоят риски и аспекты производительности опций.

Спасибо.

21
задан sgokhales 9 June 2011 в 20:15
поделиться