C# 在C中加载文件内容时,字节数组将消耗多少内存
当我们创建这样的字节数组时:C# 在C中加载文件内容时,字节数组将消耗多少内存,c#,file,memory,bytearray,.net,C#,File,Memory,Bytearray,.net,当我们创建这样的字节数组时: byte[] fileData = System.IO.File.ReadAllBytes("FileName.exe"); 文件的大小会占用内存吗?我认为0字节以上的任何位置 您可能会认为这取决于文件的实际大小?file.ReadAllBytes方法是以一种非常明显的方式实现的。它在文件流上使用using resource acquisition块。然后,它循环遍历文件并将字节放入字节数组中。在.NETFramework4.0中,如果文件超过2GB,它将抛出异常
byte[] fileData = System.IO.File.ReadAllBytes("FileName.exe");
文件的大小会占用内存吗?我认为0字节以上的任何位置
您可能会认为这取决于文件的实际大小?file.ReadAllBytes方法是以一种非常明显的方式实现的。它在文件流上使用using resource acquisition块。然后,它循环遍历文件并将字节放入字节数组中。在.NETFramework4.0中,如果文件超过2GB,它将抛出异常
@这就是我想知道的,因为如果文件大小为100MB,在加载数组后,它是否会额外消耗100MB的内存?@J.Steen在顶部稍高一点?Console.WriteLineSize以字节为单位:{0},大小以KB为单位:{1},fileData.Length,fileData.Length/1024;我刚刚用97KB的文件检查了一下,它显示:字节大小:99328,KB大小:97,另外你可以在32位操作系统上添加4个字节,或者在64位操作系统上添加8个字节作为参考Hanks@Habib,你的回答让我产生了一些不同的想法,我发现这篇文章很有用,我想知道为什么这个问题是“封闭的,不是真正的问题”,虽然有两个答案。