2

我有一个带有属性的对象;开始索引,结束索引

通过实现以下内容,我可以基于 startIndex 进行二进制搜索:

        int IComparable.CompareTo(object obj)
        {
            Repeat r = (Repeat)obj;
            return this.startIndex.CompareTo(r.startIndex);
        }

但是,对于相同的重复对象,我也想分别在结束索引上进行二进制搜索。

我怎样才能做到这一点 ?

谢谢。

4

1 回答 1

4

如果您使用Array.BinarySearch()or方法,则可以使用采用orList<T>.BinarySearch()的重载。然后,您可以在单独的类中实现比较语义,并在您想要进行搜索时将其传入。IComparerIComparer<T>

于 2010-01-03T03:27:32.250 回答