System.Windows.Forms.DynamicFileByteProvider.GetDataBlock C# (CSharp) Method

GetDataBlock() private method

private GetDataBlock ( long findOffset, long &blockOffset ) : DataBlock
findOffset long
blockOffset long
return DataBlock
        DataBlock GetDataBlock(long findOffset, out long blockOffset)
        {
            if (findOffset < 0 || findOffset > _totalLength)
            {
                throw new ArgumentOutOfRangeException("index");
            }

            // Iterate over the blocks until the block containing the required offset is encountered.
            blockOffset = 0;
            for (DataBlock block = _dataMap.FirstBlock; block != null; block = block.NextBlock)
            {
                if ((blockOffset <= findOffset && blockOffset + block.Length > findOffset) || block.NextBlock == null)
                {
                    return block;
                }
                blockOffset += block.Length;
            }
            return null;
        }