BinaryReader 读取数据慢的问题(BinaryReader 快速读取数据)
今天写了一个函数,发现读取数据很慢,大家看看这两个函数的对比
1、
brs = new BinaryReader(File.Open(eegfile, FileMode.Open));
long datelen = brs.BaseStream.Length / 4;
for (int i = 0; i < datelen; i++)
{
databuff[i] = brs.readInt()
}
2、
brs = new BinaryReader(File.Open(eegfile, FileMode.Open));
for (int i = 0; i < brs.baseStram.length; i++)
{
databuff[i] = brs.readInt()
}
这两个读取方法差别很小,但是第二种方法速度差了很多,原因很简单,for循环每次都会去读取brs.baseStram.length,这个过程很耗时。
所以告诫新手一定要注意这个问题。