Просто используйте HashSet<string>
в качестве своей коллекции, а не StringCollection
. Он предназначен для предотвращения добавления дублирующих элементов путем сравнения хеш-кодов этих элементов (таким образом, он очень эффективен).
Редактировать: поскольку может показаться , в первую очередь вам возвращается StringCollection
, тогда решение должно состоять в том, чтобы просто перебрать все элементы в StringCollection
и добавить их в HashSet<string>
, тем самым устраняя дубликаты. Метод расширения Enumerable.Distinct
также подойдет, но я подозреваю, что это менее эффективно, поскольку он использует хеширование (а не просто обычное тестирование на равенство). Примерно так:
var noDuplicatesItems = stringCollection.Cast<string>().Distinct().ToArray();