У меня есть очень большой массив char, который мне нужно преобразовать в строку, чтобы использовать Regex на нем.
Но он настолько велик, что я получаю OutOfMemoryException
, когда передаю это конструктору строки.
Я знаю, что строка неизменна, и поэтому не следует указывать ее базовую коллекцию символов, но мне нужно использовать регулярные выражения, не копируя все это.
Как получить этот массив?
- Я получаю его из файла с помощью
StreamReader
. Я знаю начальную позицию и длину содержимого для чтения, методыRead
иReadBlock
требуют, чтобы я поставлял буферchar[]
.
Итак, вот что я хочу знать:
- Есть ли способ указать строку, лежащую в основе коллекции? (Сохраняет ли он свои символы в массиве?)
- ... или с помощью Regex непосредственно в массиве char?
- ... или получить часть файла непосредственно в виде строки?