コード例 #1
0
        public void Read_OneByteAtATime_ShouldReturnCorrectResult()
        {
            var stream  = new MemoryStream(new byte[] { 0x01, 0x02, 0x03 });
            var segment = new StreamSegment(stream, 3, false);

            Assert.Equal(0x01, segment.ReadByte());
            Assert.Equal(0x02, segment.ReadByte());
            Assert.Equal(0x03, segment.ReadByte());
        }
コード例 #2
0
ファイル: DechunkedStream.cs プロジェクト: schlndh/netool
        /// <inheritdoc/>
        public byte ReadByte(long index)
        {
            IDataStreamHelpers.ReadByteArgsCheck(this, index);
            ChunkHint hint;

            lock (dataLock)
            {
                var hintIdx = locateChunk(index);
                hint = chunkHints[hintIdx];
            }
            var seg = new StreamSegment(stream, hint.StreamStart);

            return(seg.ReadByte(index - hint.DataStart));
        }