public override int GetHashCode() { unchecked { var hashCode = Integer; hashCode = (hashCode * 397) ^ Float.GetHashCode(); hashCode = (hashCode * 397) ^ Double.GetHashCode(); hashCode = (hashCode * 397) ^ (Data?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (Child?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (ObjectArray?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (IntArray?.GetHashCode() ?? 0); return(hashCode); } }