Всем привет. Есть массив данных, необходимо найти одинаковые элементы. Есть ли на С# методы, реализующие поиск? Пока получилось только сравнение каждого файла с каждым, но нужна производительность выше. Если сделать через словарь, есть ли там методы для поиска, чтоб без двойного обхода ( foreach->for)? Главное: взять конкретный ключ, строку нельзя - в массиве просто набор байтов файла. Заранее спасибо
1. Нет смысла в каждом обходе проверять уже проверенные пары и сам элемент.
2. Сначала сравните просто длину элементов.
3. Нет смысла полностью сравнивать элементы, проверяйте их по байтам.
4. Замените элементы их хешами, если они могут иметь одинаковое длинное начало (чтобы оптимизировать п. 3).
5. Не загружайте и не обрабатывайте данные повторно, если вы вдруг так делаете.
6. Используйте Parallel.forEach вместо обычного.