示例#1
0
        public static unsafe int TestStructWithNonBlittableTypes(ref StructWithNonBlittableTypes a)
        {
            var checksum = 0;

            checksum = (checksum * 397) ^ a.a0;
            checksum = (checksum * 397) ^ a.b0;
            checksum = (checksum * 397) ^ a.b1;
            checksum = (checksum * 397) ^ (a.d0 ? 10 : 0);
            checksum = (checksum * 397) ^ a.a1;
            checksum = (checksum * 397) ^ a.b1;
            checksum = (checksum * 397) ^ a.c1;
            checksum = (checksum * 397) ^ (a.d1 ? 0 : 7);
            checksum = (checksum * 397) ^ a.Check;
            return(checksum);
        }
示例#2
0
 public static int TestStructWithNonBlittableTypesOffset(ref StructWithNonBlittableTypes a)
 {
     return(Unsafe.ByteOffset(ref a.a0, ref a.a1).ToInt32());
 }