我有一个非常大的 char 数组,我需要将其转换为字符串才能在其上使用 Regex。但是当我将它传递给字符串构造函数时
,它太大了。OutOfMemoryException
我知道字符串是不可变的,因此它不应该指定它的底层字符集合,但我需要一种在不复制整个内容的情况下使用正则表达式的方法。
我如何获得该数组?
- 我使用
StreamReader
. 我知道要读取的内容的起始位置和长度,Read
方法ReadBlock
需要我提供一个char[]
缓冲区。
所以这里是我想知道的事情:
- 有没有办法指定字符串的底层集合?(它甚至将其字符保存在数组中吗?)
- ...或直接在字符数组上使用正则表达式?
- ...或者直接将文件的一部分作为字符串获取?