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);
     }
 }