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