Re: [問題] 如何得知各個type可儲存大小的極限?

看板C_Sharp (C#)作者 (睡魔)時間18年前 (2007/09/26 17:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《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產生) 這個嘛... 你只能為一個process取得最大的"連續的"記憶體. 如果有一個process佔用的記憶體區域橫空欄在主記憶體的中間, 你是可能怎樣 也拿不到這樣大的記憶區塊啦... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.73.76.102
文章代碼(AID): #16-YCgcj (C_Sharp)
文章代碼(AID): #16-YCgcj (C_Sharp)