/// <summary> /// 写入一个指定类型的值 /// </summary> /// <param name="value">指定类型的值</param> public void WriteUInt64(ulong *value) { ulong * pValue = value; IMemorySegment segment = GetSegment(_currentIndex); uint remainingSize; if (segment.EnsureSize(Size.UInt64, out remainingSize)) { segment.WriteUInt64(pValue); } else { uint trueRemainingSize = Size.UInt64; if (remainingSize > 0U) { segment.WriteMemory((IntPtr)pValue, remainingSize); trueRemainingSize -= remainingSize; } segment = GetSegment(++_currentIndex); segment.WriteMemory((IntPtr)((byte *)pValue + remainingSize), trueRemainingSize); } }