سؤال

لدي كائن مع سمات. StartIndex ، endindex

أنا قادر على إجراء البحث الثنائي بناءً على startIndex من خلال تنفيذ ما يلي:

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

ولكن مع نفس الكائن المتكرر ، أود إجراء البحث الثنائي أيضًا في فهرس النهاية بشكل منفصل.

كيف يمكنني أن أفعل هذا ؟

شكرًا.

هل كانت مفيدة؟

المحلول

إذا كنت تستخدم Array.BinarySearch() أو List<T>.BinarySearch() الطرق ، يمكنك استخدام الحمل الزائد الذي يأخذ IComparer أو IComparer<T>. ثم يمكنك تنفيذ دلالات المقارنة في فصل منفصل وتمريرها عندما تريد إجراء بحث.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top