Я, должно быть, неправильно понимаю, что делает BinaryReader
.Почему эти выходы отличаются?
{
var data = File.ReadAllBytes(testFile);
var pos = 0;
var read8 = new Func<uint>(() => data[pos++]);
var read32 = new Func<uint>(() => (read8() << 24) | (read8() << 16) | (read8() << 8) | read8());
Console.WriteLine(read32());
}
using (var reader = new BinaryReader(File.Open(testFile, FileMode.Open)))
{
Console.WriteLine(reader.ReadUInt32());
}