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