0
我想以簡單高效的方式(即快速和更少的內存)替換字符串生成器末尾的第二個字符。字符串將大約200-300 MB我猜(不知道)。我該怎麼做 ?如果輸入字符串的末尾有換行符,答案會改變嗎?在C中使用stringbuilder處理巨大的字符串#
謝謝。
我想以簡單高效的方式(即快速和更少的內存)替換字符串生成器末尾的第二個字符。字符串將大約200-300 MB我猜(不知道)。我該怎麼做 ?如果輸入字符串的末尾有換行符,答案會改變嗎?在C中使用stringbuilder處理巨大的字符串#
謝謝。
可以使用StringBuilder.Chars
在StringBuilder
覆蓋一個特定的字符:
// For example, replace 'x' into the 2nd to last char
stringBuilder[stringBuilder.Length-2] = 'x';
StringBuilder
使用字符作爲它的後備存儲的陣列。一個簡單的
StringBuilder sb = new StringBuilder() ;
sb.Append(GetSomeEnormousString()) ;
sb[ sb.Length - 2 ] = '*' ;
應該做你。
除了涉及的任何分頁之外,它都是直接內存訪問。
這個字符串從哪裏來?如果它來自一個文件..我會建議你尋找到最後,並通過寫在頂部替換字符。這可以節省一個300MB的字符串在內存中.. –