В каком объекте мне следует хранить много строк? [дубликат] ⇐ C#

Место общения программистов C#
Anonymous
В каком объекте мне следует хранить много строк? [дубликат]

Сообщение Anonymous »

У меня есть процесс, в ходе которого я должен (де)токенизировать информацию о платежном счете. В настоящее время при отправке клиенту файла с платежной информацией (помимо прочего) фактические номера платежных счетов токенизируются, и перед отправкой клиенту его необходимо детокенизировать.
Существующее процесс загружает файл в память, просматривает его построчно, детокенизирует поля платежного счета (если находит), а затем добавляет его во внутреннюю переменную StringBuilder. В конце, когда файл был обработан, эта переменная преобразуется в массив байтов, загружается в поток памяти и отправляется по SFTP клиенту. По сути, мы ни в коем случае не храним файл с открытым текстом (нетокенизированные учетные записи) на сервере. Платежные счета в виде открытого текста существуют только в памяти, а затем отправляются клиенту.
Проблема возникает иногда, когда файлы слишком велики, StringBuilder не хватает памяти, и мы не можем для обработки файла.
Вопрос: есть ли лучший способ загрузить и обработать большие объемы строк в памяти, используя другой объект? Может быть, List?
Я сразу же подумывал об использовании байтового массива, поскольку мы все равно используем его для загрузки в поток памяти, но он должен иметь определенный размер, а я не знаете, как его получить (функция, которая детокенизирует его, не обращается напрямую к исходному файлу, она использует собственный объект с уже заполненной информацией).
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... strings-in

Вернуться в «C#»