相关疑难解决方法(0)

c#中列表<string>的最大数据限制是多少?

我可以向List添加多少个值?

例如:

List<string> Item = runtime data
Run Code Online (Sandbox Code Playgroud)

数据的大小不固定.它可能是10 000或超过1 000 000.我用谷歌搜索但没有找到确切的答案.

.net c#

53
推荐指数
2
解决办法
5万
查看次数

.Net中的非常大的集合会导致内存不足异常

我正在测试.Net中的集合有多大.从技术上讲,任何集合对象都可以增长到物理内存的大小.

然后,我测试的服务器,它具有16GB内存下面的代码,运行Windows 2003 Server和Visual Studio 2008,我测试两个F#和C#代码,看了看任务管理器运行时.我可以看到,在增加2GB内存之后,该程序因内存不足异常而崩溃.我确实在属性页面中将目标平台设置为x64.

open System.Collections.Generic

let d = new Dictionary<int, int>()

for i=1 to 1000000000 do
    d.Add(i,i)
Run Code Online (Sandbox Code Playgroud)

我对C5集合库进行了相同的测试.结果是C5中的字典可能耗尽整个内存.代码使用C5:

let d = C5.HashDictionary<int, int> ()
for i=1 to 1000000000 do
    d.Add(i,i)
Run Code Online (Sandbox Code Playgroud)

谁知道为什么?

.net c# f# gcallowverylargeobjects

32
推荐指数
3
解决办法
2万
查看次数

是否存在可以存储在List中的元素的限制?

是否存在可以存储在List中的元素的限制?或者你可以保持添加元素直到你内存不足?

.net c# collections ilist

7
推荐指数
1
解决办法
1031
查看次数

单个.net进程的内存限制为大约2.5 GB

我正在编写.NET在Windows Server 2016上运行的应用程序,这些应用程序会对大量文件的大量内容执行http操作.这可以大大加快下载过程,因为您可以并行下载它们.不幸的是,一旦下载它们,将它们全部重新组合在一起需要相当长的时间.

有2-4k个文件需要组合.这将运行的服务器有很多内存,靠近800GB.我认为使用MemoryStreams存储下载的部分直到它们可以顺序写入磁盘是有意义的,我只能2.5GB在出现System.OutOfMemoryException错误之前消耗大约内存.服务器有数百GB可用,我无法弄清楚如何使用它们.

.net c# memory windows 64-bit

7
推荐指数
1
解决办法
626
查看次数

32 位 .NET 最大字节数组大小是否 &lt; 2GB?

我一直在研究一些与字节数组的最大大小相关的问题(此处此处),并一直在处理一些数组并得到一些我不太理解的结果。我的代码如下:

byte[] myByteArr;
byte[] myByteArr2 = new byte[671084476];

for (int i = 1; i < 2; i++)
{
    myByteArr = new byte[671084476];
}
Run Code Online (Sandbox Code Playgroud)

这将编译并在执行时它将'System.OutOfMemoryException'在 的初始化时抛出一个异常myByteArr。如果我将 for 循环中的 2 更改为 1 或者我注释掉其中一个初始化(或myByteArr2myByteArr,它将运行正常。

另外,byte[] myByteArr = new byte[Int32.MaxValue - 56];抛出相同的异常。

为什么编译 32 位时会出现这种情况?不是在2GB限制之内吗?

.net c# arrays size limit

4
推荐指数
1
解决办法
2198
查看次数

c#2中的字节数组内存不足

FileStream fs = File.OpenRead(fullFilePath);
try
{
    Console.WriteLine("Read file size is : " + fs.Length);
    byte[] bytes = new byte[fs.Length]; //// **error this line**
    fs.Read(bytes, 0, Convert.ToInt32(fs.Length));
    fs.Close();
    return bytes;
}
finally
{
    fs.Close();
}
Run Code Online (Sandbox Code Playgroud)

read file size 2,885,760 KB.是错误//

**Arithmetic operation resulted in an overflow.**

c#

-2
推荐指数
1
解决办法
3390
查看次数

标签 统计

c# ×6

.net ×5

64-bit ×1

arrays ×1

collections ×1

f# ×1

gcallowverylargeobjects ×1

ilist ×1

limit ×1

memory ×1

size ×1

windows ×1