Моя программа С# генерирует случайные строки из заданного шаблона. Эти строки хранятся в списке. Поскольку дубликатов не разрешено, я делаю это так:
List<string> myList = new List<string>();
for (int i = 0; i < total; i++) {
string random_string = GetRandomString(pattern);
if (!myList.Contains(random_string)) myList.Add(random_string);
}
Как вы можете себе представить, это работает отлично для нескольких сотен записей. Но я столкнулся с ситуацией, чтобы создать несколько миллионов строк. И с каждой добавленной строкой проверка дубликатов становится медленнее и медленнее.
Есть ли более быстрые способы избежать дубликатов?