public override int GetHashCode()
        {
            int hash = 1;

            if (Rank != 0)
            {
                hash ^= Rank.GetHashCode();
            }
            if (PriceUsd != 0D)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(PriceUsd);
            }
            if (PriceBtc != 0D)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(PriceBtc);
            }
            if (Volumn24HUsd != 0D)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Volumn24HUsd);
            }
            if (MarketCapUsd != 0D)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MarketCapUsd);
            }
            if (AvailableSupply != 0D)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(AvailableSupply);
            }
            if (TotalSupply != 0D)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalSupply);
            }
            if (PercentChange1H.Length != 0)
            {
                hash ^= PercentChange1H.GetHashCode();
            }
            if (PercentChange24H.Length != 0)
            {
                hash ^= PercentChange24H.GetHashCode();
            }
            if (PercentChange7D.Length != 0)
            {
                hash ^= PercentChange7D.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
 public override int GetHashCode()
 {
     return(Id * CryptoId * Name.GetHashCode() * Symbol.GetHashCode() * Price.GetHashCode() * PercentChange1H.GetHashCode()
            * PercentChange24H.GetHashCode() * MarketCap.GetHashCode() * LastUpdated.GetHashCode());
 }