Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 02.01.2016
Сообщений: 13

IComparable<T> и BinarySearch()

19.11.2016, 23:17. Показов 843. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, моя пятая точка соизволила гореть, все не как не могу понять
........................................ ........................................ ...........................
Пример будет пресный, но суть уловить можно
есть класс A и он : IComparable<A>
В классе пусть есть поля Len Age. Не важно
........................................ ........................................ ............................
Пока не сложно, никто не теряет мысль...
Я создаю в мэине
List<А> list = new List<А>();

А теперь я хочу искать этом списке вот так
int index = list.BinarySearch(new A(2,2)) ------ в итоге эта штука вернет позицию, если найдет A с len=2 age=2
........................................ ........................................ ............................
А теперь сам вопрос!!!!
как-то можно передать именно IComparable (именно его, а не IComparer) ну или вообще как-то с его помощью
изменить BinarySearch, так что бы он возращал индекс не полностью одинаковых объектов, а например у которых одинаковый len


ПРИМЕР
пусть есть list A
1 2
2 2
3 4
5 6
2 1


если я сделаю так
int index = list.BinarySearch(new A(2,2)) мне вернет ---------- 1
а я хочу как то сделать так, что бы он вернул ----------0 (ибо 2 параметр age и в строке с индексом 0 он как раз и есть 2)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2016, 23:17
Ответы с готовыми решениями:

Необработанное исключение в BinarySearch
Необработанное исключение типа &quot;System.InvalidOperationException&quot; в mscorlib.dll . На сколько я понимаю неправильный тип входящих данных в...

Поиск подстроки с помощью BinarySearch
Всем привет! Такая задача завела меня в тупик. Есть массив строк, отсортированный лексикографически. Хочу в его элементах найти точную...

проверка существования слова(BinarySearch)
Доброе время суток, Товарищи! Столкнулся с проблемой. Как с помощью BinarySearch проверить существования данного слова в списке(или в...

1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18245 / 14159 / 5366
Регистрация: 17.03.2014
Сообщений: 28,847
Записей в блоге: 1
20.11.2016, 07:56
pash-man, IComparable<T> передать нельзя потому что он должен реализовываться самим типом. Кроме того BinarySearch здесь не подходит т.к. ему необходимо отсортированная коллекция. В твоем же примере данные не отсортированы по второму полю. Здесб лучше подойдут методы Find.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2016, 07:56
Помогаю со студенческими работами здесь

List<double[][]> sort и binarySearch метод
Здравствуйте! Поиск не дал результатов. Как можно отсортировать каждый массив списка по первому(n-му) столбцу? И применить к...

Сортировка и IComparable
Всем добрый вечер || день. Возник вопрос по поводу компаратора. У меня есть класс, который имеет два поля - Key и Value Мне...

IComparable, ArrayList.Sort
При вызове Sort вылетает ошибка &quot;Дополнительные сведения: Сбой при сравнении двух элементов массива.&quot;. Не могли бы вы объяснить, в чем...

По поводу icomparable interface
public int CompareTo(object obj) { if (obj is Person) { Person otherPerson = obj as Person; return this.Age - otherPerson.Age; ...

Компараторы IComparable и IComparer
Добрый вечер, нужна помощь с компараторами IComparable и IComparer, а точнее нужно их реализовать в коде using System; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru