public void BytesToInt64TransferTest( ) { byte[] data = new byte[16]; ReverseBytesByWord(BitConverter.GetBytes(12345678911234L), byteTransform.DataFormat).CopyTo(data, 0); ReverseBytesByWord(BitConverter.GetBytes(-987665434123245L), byteTransform.DataFormat).CopyTo(data, 8); long[] array = byteTransform.TransInt64(data, 0, 2); Assert.AreEqual <long>(12345678911234L, array[0]); Assert.AreEqual <long>(-987665434123245L, array[1]); }
/// <summary> /// 读取指定地址的long数组 /// </summary> /// <param name="address">起始地址,格式为"1234"</param> /// <param name="length">数组长度</param> /// <returns>带有成功标志的long数据</returns> public OperateResult <long[]> ReadInt64(string address, ushort length) { OperateResult <byte[]> read = Read(address, (ushort)(length * 4)); if (!read.IsSuccess) { return(OperateResult.CreateFailedResult <long[]>(read)); } return(OperateResult.CreateSuccessResult(byteTransform.TransInt64(read.Content, 0, length))); }