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,这个过程很耗时。

所以告诫新手一定要注意这个问题。

 

你可能感兴趣的:(reader)