2013-12-01 3 views
0

Я сравниваю 2 hashsets, полный filenames.I успешно реализовал «ExceptWith», но теперь мне нужно получить список «всех имен файлов, которые находятся в обоих наборах».Hashset <string> содержит для коллекции

Я знаю, hashset имеет a содержит, но это означает, что цикл хешета для каждого элемента другого. Удовлетворение, если есть встроенный метод для этого. Я делаю файлы с более чем 50000 именами файлов.

большое спасибо

ответ

3

То, что вы говорите о том, множество пересечений. Там будет построен в методе для этого:

Обратите внимание, что это изменяет исходный HashSet x. Если вы не хотите этого, используйте метод расширения на Enumerable:

var intersection = x.Intersect(y); 

Поскольку последняя определяется как расширение на IEnumerable<T>, он работает на более общем случае. Просто имейте в виду, что он может быть не так оптимизирован для производительности, как HashSet<T>.IntersectWith, так как он должен работать над всеми перечислениями.

+0

привет, это сработало. Подождите несколько минут, чтобы принять ответ, но это сработало. Спасибо. – user9969

Смежные вопросы