public override bool Equals(object?obj) { if (obj == null || obj.GetType() != typeof(TokenMd)) { return(false); } var otherToken = obj as TokenMd; return(Mark == otherToken.Mark && Token == otherToken.Token && InnerTokens.SequenceEqual(otherToken.InnerTokens)); }
public override int GetHashCode() { var hash = 0; if (Token != null) { hash = Token.GetHashCode(); } if (InnerTokens == null) { return(hash); } hash += InnerTokens.Sum(innerToken => innerToken.GetHashCode()); return(hash); }