Sharpen.BitSet.Equals C# (CSharp) Method

Equals() public method

public Equals ( object obj ) : bool
obj object
return bool
        public override bool Equals(object obj)
        {
            if ((obj != null) && (obj is BitSet))
            {
                BitSet bset = (BitSet)obj;

                int n = (int)(System.Math.Min(dataBits.Length, bset.dataBits.Length));
                for (int i = n; i-- > 0; )
                {
                    if (dataBits[i] != bset.dataBits[i])
                    {
                        return false;
                    }
                }
                if (dataBits.Length > n)
                {
                    for (int i = (int)(dataBits.Length); i-- > n; )
                    {
                        if (dataBits[i] != 0)
                        {
                            return false;
                        }
                    }
                }
                else if (bset.dataBits.Length > n)
                {
                    for (int i = (int)(bset.dataBits.Length); i-- > n; )
                    {
                        if (bset.dataBits[i] != 0)
                        {
                            return false;
                        }
                    }
                }
                return true;
            }
            return false;
        }