public override int GetHashCode() { unchecked { var hashCode = Number; hashCode = (hashCode * 397) ^ Priority; hashCode = (hashCode * 397) ^ (Logograph != null ? Logograph.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Pronunciation != null ? Pronunciation.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ReviewTime != null ? ReviewTime.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Definitions != null ? Definitions.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Usages != null ? Usages.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Phrases != null ? Phrases.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Idioms != null ? Idioms.GetHashCode() : 0); return(hashCode); } }