日期:2014-05-17  浏览次数:21072 次

请教BinaryReader的.ReadSingle()问题
我有段代码是这样的:
BinaryReader reader = new BinaryReader(fs) 
byte[] b = new byte[12];
 float sa = 0;
reader.Read(b, 0, 12);
 sa = reader.ReadSingle();

这样的结果sa是一个值,但我看说明reader.ReadSingle()只读四个字节的浮点。
所以我改为:
BinaryReader reader = new BinaryReader(fs) 
byte[] b = new byte[12];
 float sa = 0;
reader.Read(b, 0, 4);
 sa = reader.ReadSingle();

按理来说两个sa应该是一样的,但为什么不一样呢? 不解,请教大家,谢谢!

------解决方案--------------------
一个移动了4个字节,一个移动了12个字节当然不一样。
Read的那4个字节和ReadSingle的没有任何关系。