我有一個非常大的字符數組,我需要轉換爲字符串,以使用正則表達式就可以了。
但它是如此之大,我得到OutOfMemoryException
當我傳遞字符串構造函數。如何從char數組創建一個字符串而不復制它?
我知道,字符串是不可變的和因此不應該可以指定其底層字符集合,但我需要一種方法來使用的正則表達式,而不復制整個事情。
我如何獲得該數組?
- 我從文件中使用
StreamReader
得到它。我所知道的起始位置和內容閱讀的長度,Read
和ReadBlock
方法需要我提供一個緩衝char[]
。
所以這裏是我想知道的事情:
- 是否有指定字符串的墊層收集的方法嗎? (難道它甚至保持其字符數組中的?)
- ...或者直接字符數組上使用正則表達式?
- ...或者直接獲取文件的一部分字符串?
什麼是正則表達式?如果它足夠簡單,你可以用代碼遍歷'char []'來代替它。 –
'char []'有多大? –
@Matt:不幸的是我不能。這是一個非常漫長而複雜的解析器。 –