Удаление повторяющихся элементов из коллекции

Рейтинг: 1Ответов: 2Опубликовано: 05.02.2011

Если есть коллекция элементов, которые могут повторяться, например, IEnumerable<int>, то как проще всего получить из этой коллекции новую коллекцию, в которой каждый элемент первоначальной коллекции будет присутствовать только один раз? Как сделать отбор в цикле, я понимаю, но это наверняка не самый простой метод.

Ответы

▲ 3Принят

Надо сделать Set из списка, например, используйте HashSet. А можно сразу хранить в нём данные, если порядок не важен. Отбор в цикле это самый неэффективный способ. И не очень нагляден.

▲ 3

Все куда проще, у IEnumerable<t> есть метод Distinct, он делает то, что Вам нужно.

Информация: http://msdn.microsoft.com/ru-ru/library/bb348436.aspx