public static int GetHashCode <T>(T?value)
        {
            var pValue = Unsafe.AsPointer(ref value);
            var size   = Unsafe.SizeOf <T>();

            return(BinaryEqualityComparer.GetHashCode(pValue, size));
        }
        public static int GetBinaryHashCode <T>(this T[, , ]?array) where T : unmanaged
        {
            if (array is null)
            {
                return(0);
            }

            fixed(T *pArray = array)
            {
                var size = sizeof(T) * array.Length;

                return(BinaryEqualityComparer.GetHashCode(pArray, size));
            }
        }
Exemple #3
0
 public static int GetBinaryHashCode <T>(this T value) where T : unmanaged
 {
     return(BinaryEqualityComparer.GetHashCode(&value, sizeof(T)));
 }