Я работаю над приложением C#, в котором мне нужно прочитать очень большой текстовый файл и преобразовать его содержимое в DataTable. Однако мне не всегда нужны все строки, поэтому я хочу избежать предварительной загрузки всего файла в память.
Вместо этого я хочу лениво генерировать объекты DataRow только тогда, когда они действительно нужны. Моя цель — реализовать метод, который возвращает IEnumerable и использует возврат доходности, чтобы строки передавались из файла и потреблялись на лету с помощью цикла foreach.
Вот чего я пытаюсь достичь:
Чтение файла построчно, без буферизации всего файла.
Преобразуйте каждую строку в DataRow на основе предопределенного столбца. структура.
Используйте возврат доходности для ленивого возврата каждой строки.
Начинайте читать и генерировать строки только тогда, когда цикл foreach начинает потреблять данные.
Совместим ли этот подход с DataTable или мне следует рассмотреть альтернативную структуру, которая лучше поддерживает ленивую генерацию строк?
Любые советы, шаблоны или примеры кода будут полезны. очень признателен.
Подробнее здесь: https://stackoverflow.com/questions/797 ... able-and-y