Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }