/// <summary> /// 跳过指定字节长度 /// </summary> /// <param name="length">需要跳过的字节长度</param> public void Skip(uint length) { IMemorySegment segment = GetSegment(_currentIndex); uint remainingSize; if (segment.EnsureSize(length, out remainingSize)) { segment.Skip(length); } else { uint trueRemainingSize = length; while (trueRemainingSize > 0U) { if (remainingSize > 0U) { segment.Skip(remainingSize); trueRemainingSize -= remainingSize; } segment = GetSegment(++_currentIndex); if (!segment.EnsureSize(trueRemainingSize, out remainingSize)) { continue; } segment.Skip(trueRemainingSize); break; } } }