Какой класс сбора данных в C # является наиболее эффективным для строкового поиска

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».

Каждое слово в файле уникально.

РЕДАКТИРОВАТЬ 1 Этот поиск будет выполняться потенциально миллионы раз в моем приложении. Также я хочу придерживаться LINQ для запроса коллекции, потому что мне может понадобиться использовать агрегатную функцию.

РЕДАКТИРОВАТЬ 2 Слова из файла уже отсортированы, файл не изменится

6
задан Brian Tompsett - 汤莱恩 11 November 2015 в 22:42
поделиться