public bool Equals([AllowNull] Grid other) { if (other == null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return((Rows == other.Rows && Rows != null && other.Rows != null && Rows.Equals(other.Rows)) && (RowOrder == other.RowOrder && RowOrder != null && other.RowOrder != null && RowOrder.Equals(other.RowOrder)) && (Columns == other.Columns && Columns != null && other.Columns != null && Columns.Equals(other.Columns)) && (Equals(Subplots, other.Subplots) || Subplots != null && other.Subplots != null && Subplots.SequenceEqual(other.Subplots)) && (Equals(XAxes, other.XAxes) || XAxes != null && other.XAxes != null && XAxes.SequenceEqual(other.XAxes)) && (Equals(YAxes, other.YAxes) || YAxes != null && other.YAxes != null && YAxes.SequenceEqual(other.YAxes)) && (Pattern == other.Pattern && Pattern != null && other.Pattern != null && Pattern.Equals(other.Pattern)) && (XGap == other.XGap && XGap != null && other.XGap != null && XGap.Equals(other.XGap)) && (YGap == other.YGap && YGap != null && other.YGap != null && YGap.Equals(other.YGap)) && (Domain == other.Domain && Domain != null && other.Domain != null && Domain.Equals(other.Domain)) && (XSide == other.XSide && XSide != null && other.XSide != null && XSide.Equals(other.XSide)) && (YSide == other.YSide && YSide != null && other.YSide != null && YSide.Equals(other.YSide))); }
/// <inheritdoc /> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Rows != null) { hashCode = hashCode * 59 + Rows.GetHashCode(); } if (RowOrder != null) { hashCode = hashCode * 59 + RowOrder.GetHashCode(); } if (Columns != null) { hashCode = hashCode * 59 + Columns.GetHashCode(); } if (Subplots != null) { hashCode = hashCode * 59 + Subplots.GetHashCode(); } if (XAxes != null) { hashCode = hashCode * 59 + XAxes.GetHashCode(); } if (YAxes != null) { hashCode = hashCode * 59 + YAxes.GetHashCode(); } if (Pattern != null) { hashCode = hashCode * 59 + Pattern.GetHashCode(); } if (XGap != null) { hashCode = hashCode * 59 + XGap.GetHashCode(); } if (YGap != null) { hashCode = hashCode * 59 + YGap.GetHashCode(); } if (Domain != null) { hashCode = hashCode * 59 + Domain.GetHashCode(); } if (XSide != null) { hashCode = hashCode * 59 + XSide.GetHashCode(); } if (YSide != null) { hashCode = hashCode * 59 + YSide.GetHashCode(); } return(hashCode); } }