C # Тип данных для большой отсортированной коллекции с позицией? - PullRequest
4 голосов
/ 17 сентября 2008

Я пытаюсь сравнить два больших набора данных из запроса SQL. Прямо сейчас SQL-запрос выполняется извне, и результаты каждого набора данных сохраняются в его собственном CSV-файле. Мое маленькое консольное приложение C # загружает два текстовых / CSV-файла, сравнивает их на предмет различий и сохраняет различия в текстовом файле.

Это очень простое приложение, которое просто загружает все данные из первого файла в массив и выполняет .compare () для массива, когда каждая строка читается из второго файла CSV. Затем сохраняет записи, которые не совпадают.

Приложение работает, но я хотел бы улучшить производительность. Я полагаю, что могу значительно повысить производительность, если смогу воспользоваться тем, что оба файла отсортированы, но я не знаю тип данных в C #, который сохраняет порядок и позволил бы мне выбрать конкретную позицию. Есть базовый массив, но я не знаю, сколько элементов будет в каждом списке. Я мог иметь более миллиона записей. Есть ли доступный тип данных, на который я должен смотреть?

Ответы [ 11 ]

0 голосов
/ 17 сентября 2008

Ну, есть несколько подходов, которые будут работать. Вы можете написать свою собственную структуру данных, которая сделала это. Или вы можете попробовать и использовать SortedList. Вы также можете вернуть DataSets в коде, а затем использовать .Select () для таблицы. Конечно, вам придется сделать это на обеих таблицах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...