public override int ReadByte()
{
this.ThrowIfDisposed();
if (this.position >= this.length)
{
return -1;
}
ArraySegment<byte> segment = this.bufferList[this.readArray];
int value = segment.Array[segment.Offset + this.readOffset];
this.Advance(1, segment.Count);
return value;
}