Tag: 不足内存

我用List 命中了OutOfMemoryException – 这是限制还是我遗漏了什么?

如果有机会重写,我会,但无论如何,代码如下: List foobar; 然后我们将一堆字符串添加到foobar。 在count = 16777216时,我们达到了内存不足限制。 我的理解是每个字符串的大小不同。 确实在查看数据(不是我的数据),大多数是2或3个字符。 c#中数据的最大限制是多少? 表示最大限制为: 可以存储在List的当前实现中的最大元素数量理论上是Int32.MaxValue – 仅超过20亿。 然而: 在当前的CLR的Microsoft实现中,最大对象大小限制为2GB。 (有可能其他实现,例如Mono,没有这个限制。) 在我的例子中,我有,1600万个结果*几个字节? 任务管理器显示正在使用的演出,但我有8演出的RAM。 16777216(2 ^ 24)似乎是一个相当具体的价值 – 可疑地像一个限制,但我找不到任何文件a)支持这个或b)找到解决方法? 任何帮助,将不胜感激。 一些代码: List returnList = new List(); SqlDataReader dr; // executes a read on a database, have removed that part as that bit works fine if (dr.HasRows) { while (dr.Read()) { […]