Re: [問題] 如何得知各個type可儲存大小的極限?
在任何platform你要一次allocate一個這麼大的區塊 尤其是連續的
都很有可能會碰到這種memory fragmentation的問題
所以這是一個不好的習慣
如果你硬要這樣寫 那或許你換到64bit的機器比較容易成功
※ 引述《virdust2003 (替機殼洗個熱水澡)》之銘言:
: 改這樣可以嗎?
: StringBuilder sb = new StringBuilder(400mb);
: ※ 引述《phe (hmmm)》之銘言:
: : 請問各位....我有一個大約400MB的檔案, 想把他一次讀進來
: : StreamReader sr = new StreamReader("file");
: : StringBuilder sb = new StringBuilder();
: : string buffer;
: : while((buffer = sr.ReadLine() != null)
: : {
: : sb.Append(buffer);
: : }
: : 因為我的記憶體有1.25G, 所以依據我的想法這樣應該是可以讀完才對
: : 但是程式會在執行到一半時就丟出OutOfMemoryException,
: : 可是我檢查windows工作管理員發現可用的實體記憶體還有400多
: : 請問這是為什麼?
: : (當然我也沒一定非要用這方法寫, 只是純粹很好奇位啥記憶體沒用完就會exception產生)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 131.107.71.93
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章