C# 在C语言中将数据文件读入字节数组#
我试图将包含16位数字的大型数据文件读入多维数组,但我不确定C#中最快的方法。我还需要它来处理8位数字。在C++中,我使用了Frad(),它非常快,并将数据读入“MyLax[[,,] ],然后可以作为多维数组访问:C# 在C语言中将数据文件读入字节数组#,c#,arrays,C#,Arrays,我试图将包含16位数字的大型数据文件读入多维数组,但我不确定C#中最快的方法。我还需要它来处理8位数字。在C++中,我使用了Frad(),它非常快,并将数据读入“MyLax[[,,] ],然后可以作为多维数组访问: numberRead = fread( myArray, sizeof(short), 19531250, stream ); 在C#中,我可以使用循环,但这非常慢 using (BinaryReader reader = new BinaryReader(File.OpenRea
numberRead = fread( myArray, sizeof(short), 19531250, stream );
在C#中,我可以使用循环,但这非常慢
using (BinaryReader reader = new BinaryReader(File.OpenRead(filepath)))
{
for (int i = 0; i < 25; i++)
for (int j = 0; j < 25; j++)
for (int k = 0; k < 25; k++)
for (int m = 0; m < 25; m++)
for (int n = 0; n < 25; n++)
{
myArray[i, j, k, m, n] = reader.ReadInt16();
}
}
使用(BinaryReader=newBinaryReader(File.OpenRead(filepath)))
{
对于(int i=0;i<25;i++)
对于(int j=0;j<25;j++)
对于(int k=0;k<25;k++)
对于(int m=0;m<25;m++)
对于(int n=0;n<25;n++)
{
myArray[i,j,k,m,n]=reader.ReadInt16();
}
}
是否有一种更快的方法将文件读入一个可以适应8位和16位数据的数组?速度很慢,因为您不断地向文件系统请求少量数据。你最好先把整个文件一次读入内存