string[] words = System.IO.File.ReadAllLines("word.txt");
var query = from word in words
where word.Length > "abe".Length && word.StartsWith("abe")
select word;
foreach (var w in query.AsParallel())
{
Console.WriteLine(w);
}
В основном word.txt содержит 170000 английских слов.Есть ли в C # класс коллекции, который быстрее, чем массив строк для вышеуказанного запроса?Не будет вставки или удаления, просто выполните поиск, если строка начинается с «abe» или «abdi».
Каждое слово в файле уникально.
EDIT 1
Этот поиск будетвыполнялись потенциально миллионы раз в моем приложении.Также я хочу придерживаться LINQ для сбора запросов, потому что мне может понадобиться использовать статистическую функцию.
EDIT 2
Слова из файла уже отсортированы, файл не изменится