コード例 #1
0
        public static unsafe void WriteUShort(byte[] buffer, int offset, ushort data)
        {
            AmqpBitConverter.Validate((int)buffer.Length - offset, 2);
            fixed(byte *numPointer = &buffer[offset])
            {
                byte *numPointer1 = (byte *)(&data);

                *numPointer = *(numPointer1 + 1);
                *(numPointer + 1) = *numPointer1;
            }
        }
コード例 #2
0
        public static unsafe uint ReadUInt(byte[] buffer, int offset, int count)
        {
            uint num = 0;

            AmqpBitConverter.Validate(count, 4);
            fixed(byte *numPointer = &buffer[offset])
            {
                byte *numPointer1 = (byte *)(&num);

                *numPointer1 = *(numPointer + 3);
                *(numPointer1 + 1) = *(numPointer + 2);
                *(numPointer1 + 2) = *(numPointer + 1);
                *(numPointer1 + 3) = *numPointer;
            }

            return(num);
        }
コード例 #3
0
        public static unsafe ulong ReadULong(byte[] buffer, int offset, int count)
        {
            ulong num = 0L;

            AmqpBitConverter.Validate(count, 8);
            fixed(byte *numPointer = &buffer[offset])
            {
                byte *numPointer1 = (byte *)(&num);

                *numPointer1 = *(numPointer + 7);
                *(numPointer1 + 1) = *(numPointer + 6);
                *(numPointer1 + 2) = *(numPointer + 5);
                *(numPointer1 + 3) = *(numPointer + 4);
                *(numPointer1 + 4) = *(numPointer + 3);
                *(numPointer1 + 5) = *(numPointer + 2);
                *(numPointer1 + 6) = *(numPointer + 1);
                *(numPointer1 + 7) = *numPointer;
            }

            return(num);
        }
コード例 #4
0
 public static void WriteUByte(byte[] buffer, int offset, byte data)
 {
     AmqpBitConverter.Validate((int)buffer.Length - offset, 1);
     buffer[offset] = data;
 }