我在有序数组上使用LINQ to Objects指令.我不应该做哪些操作来确保数组的顺序没有改变?
由于BinaryReader的底层缓冲策略,我不清楚是否可以读取存储在流中的偏移量,然后在此偏移量处重新定位流以恢复流式传输.
例如,以下代码是否正常:
using (var reader = new CustomBinaryReader(inputStream))
{
var offset= reader.ReadInt32();
reader.BaseStream.Seek(offset, SeekOrigin.Begin);
//Then resume reading the streaming
}
Run Code Online (Sandbox Code Playgroud)
或者我应该在寻找流之前关闭第一个二进制阅读器,然后重新打开第二个阅读器?
int offset;
using (var firstReader = new CustomBinaryReader(inputStream))
{
offset= firstReader.ReadInt32();
}
inputStream.Seek(offset, SeekOrigin.Begin);
using (var secondReader = new CustomBinaryReader(inputStream))
{
//Then resume reading the streaming
}
Run Code Online (Sandbox Code Playgroud)