2013-04-25 18 views
1

我知道數據表或其他複雜對象的最大尺寸,物體的該尺寸限制爲2GB的.NET,在.NET

但對於更復雜的對象的最大尺寸,如數據表?

它依賴於底層的對象嗎?

回答

3

更復雜的對象仍然是內部的對象,它們包含對其他對象的引用。例如,如果這是DataTable那麼它包含查詢行的引用等。關於操作系統類型,每個指針需要32或64位。只有指針大小是總和,對象圖深度沒有限制(合理)。在這種情況下,唯一的限制是可以爲流程本身分配的最大內存量。

+0

謝謝。對我來說足夠了。所以DataTable中的理論極限是'DataTable.Rows.ItemArray'對象(或者該圖/樹的最後一個分支上的其他簡單對象)的大小,對嗎? – Kamil 2013-04-25 13:08:21

+0

對。理論上2Gb對象可能包含17179869184引用。減少包含此數字的對象數據和非參考項目會少一些。在DataTable中,它將被限制爲DataRowCollection.Count屬性可以存儲的int.MaxValue。 – 2013-04-25 13:14:25

2

有關DataTable可以存儲的最大行數爲16,777,216的行。

+0

不回答,但很有用。謝謝。 – Kamil 2013-04-25 13:09:00