示例#1
0
 public override bool Equals(Pair <T1, T2> x, Pair <T1, T2> y)
 {
     if (!BaseComparer1.Equals(x.First, y.First))
     {
         return(false);
     }
     return(BaseComparer2.Equals(x.Second, y.Second));
 }
 public override bool Equals(KeyValuePair <T1, T2> x, KeyValuePair <T1, T2> y)
 {
     if (!BaseComparer1.Equals(x.Key, y.Key))
     {
         return(false);
     }
     return(BaseComparer2.Equals(x.Value, y.Value));
 }
示例#3
0
        public override int Compare(Pair <T1, T2> x, Pair <T1, T2> y)
        {
            int result = BaseComparer1.Compare(x.First, y.First);

            if (result != 0)
            {
                return(result);
            }
            return(BaseComparer2.Compare(x.Second, y.Second));
        }
        public override int Compare(KeyValuePair <T1, T2> x, KeyValuePair <T1, T2> y)
        {
            int result = BaseComparer1.Compare(x.Key, y.Key);

            if (result != 0)
            {
                return(result);
            }
            return(BaseComparer2.Compare(x.Value, y.Value));
        }
示例#5
0
        public override bool Equals(Wrapper2 <T1, T2> x, Wrapper2 <T1, T2> y)
        {
            bool r = BaseComparer1.Equals(x.Value, y.Value);

            if (r)
            {
                r = BaseComparer2.Equals(x.Value2, y.Value2);
            }
            return(r);
        }
示例#6
0
        public override int Compare(Wrapper2 <T1, T2> x, Wrapper2 <T1, T2> y)
        {
            int r = BaseComparer1.Compare(x.Value, y.Value);

            if (r == 0)
            {
                r = BaseComparer2.Compare(x.Value2, y.Value2);
            }
            return(r);
        }
示例#7
0
        public override int GetHashCode(Pair <T1, T2> obj)
        {
            int result = BaseComparer1.GetHashCode(obj.First);

            return(result ^ BaseComparer2.GetHashCode(obj.Second));
        }
        public override int GetHashCode(KeyValuePair <T1, T2> obj)
        {
            int result = BaseComparer1.GetHashCode(obj.Key);

            return(result ^ BaseComparer2.GetHashCode(obj.Value));
        }
示例#9
0
 public override bool Equals(Pair <T1, T2> x, Pair <T1, T2> y)
 => BaseComparer1.Equals(x.First, y.First) && BaseComparer2.Equals(x.Second, y.Second);
示例#10
0
        public override int Compare(Pair <T1, T2> x, Pair <T1, T2> y)
        {
            var result = BaseComparer1.Compare(x.First, y.First);

            return(result != 0 ? result : BaseComparer2.Compare(x.Second, y.Second));
        }
示例#11
0
        public override int GetHashCode(Wrapper2 <T1, T2> obj)
        {
            int r = BaseComparer1.GetHashCode(obj.Value);

            return(r ^ BaseComparer2.GetHashCode(obj.Value2));
        }
示例#12
0
 public override bool Equals(KeyValuePair <T1, T2> x, KeyValuePair <T1, T2> y)
 => BaseComparer1.Equals(x.Key, y.Key) && BaseComparer2.Equals(x.Value, y.Value);
示例#13
0
        public override int Compare(KeyValuePair <T1, T2> x, KeyValuePair <T1, T2> y)
        {
            var result = BaseComparer1.Compare(x.Key, y.Key);

            return(result != 0 ? result : BaseComparer2.Compare(x.Value, y.Value));
        }