У меня есть файл .txt, в котором содержится около 500 тыс. Записей, каждая из которых разделена новой строкой. Размер файла составляет около 13 МБ, а формат каждой строки следующий:
SomeText<tab>Value<tab>AnotherValue<tab>
Моя проблема состоит в том, чтобы найти определенную «строку» с входными данными программы из первого столбца в файле и получить соответствующие Value
и AnotherValue
из двух столбцов.
Первый столбец не отсортирован, но значения столбцов second
и third
в файле фактически отсортированы. Но эта сортировка бесполезна для меня.
Файл статичен и не изменяется. Я думал использовать Regex.IsMatch()
здесь, но я не уверен, что это лучший подход здесь, чтобы идти строка за строкой.
Если бы время поиска резко увеличилось, я мог бы, вероятно, перейти к перестановке первого столбца (и, следовательно, к сортировке столбца second
& third
). Любые предложения о том, как реализовать этот подход или вышеупомянутый подход, если требуется?
Как найти строку, как найти строку?
EDIT
Я понял, что в файле будет довольно много поисков, по крайней мере, по запросу пользователя. Если у меня есть массив значений, которые нужно найти, как я могу вернуть какой-то словарь, имеющий соответствующие значения найденных совпадений?