2013-06-12 27 views
0

我想知道...如果我想在我的程序中存儲MASSIVE字符串,並且還存儲主字符串的子字符串(即存儲每個單詞並將每個句子存儲爲字符串數組)我怎麼能不做第一個大量字符串的2個副本?C#處理大字符串和內存效率

在C++中,我只是使用指針來指向部分字符串...在C#中是否有等價的方法?

+1

C++中的指針只是內存地址。同樣,你可以存儲大量字符串的索引,它們是整數(並且佔用與C++指針相同的內存)。 –

+0

爲什麼不存儲子串的開始和結束的索引? –

+0

MASSIVE ==也許是一本完整的書.. 查看Tigran的回答,我只是有一個障礙,並提出這個問題,因爲我正在去上班的路上,所以我會放棄我的思路。 大腦剛剛跳過一拍,我離開座位並將自己打在頭上...希望這可以幫助別人 –

回答

2

您可以存儲指數的開始結束的子字符串你去參考

在這種情況下,如果您的string將隨程序的運行時間發生改變,您的「substring」將引用string的最新版本,但我不確定,因爲從問題中不清楚,如果這實際上是一個預期的行爲。

+1

我覺得很愚蠢..我已經在一段時間內解決了問題..並且想不到解決方案... 然後,只要我寫下問題,我的房間,我就像... 獲取字符串.. 轉換爲字符串[]爲每個字 使每個句子{int start,int end}數組。 :| |大聲笑,直到你離開電腦,你纔會想到......我會想更長的時間,但它讓我失去了工作的機會,所以我正要放棄我的思路。 –

+0

@MichaelCrook:它發生,有時:) – Tigran