SortedList поиск по близкому ключу - C#

Узнай цену своей работы

Формулировка задачи:

Есть

SortedList

и есть

значение ключа для поиска

Задача:

нужно найти в этом списке элемент, у которого значение ключа меньше или равно ключу_для_поиска. Например: 1, 3, 5, 9 Ищем: 8 Результат должен быть: 5 Как ни странно, нашел только методы, которые работают только при полном совпадении ключа с искомым значением. Может этот SortedList конвертнуть во что-то другое, чтобы там был соответствующий метод поиска. З.Ы.: перебор элементов в цикле я могу реализовать без проблем. Но хотелось что-нибудь встроенное и быстро работающее

Решение задачи: «SortedList поиск по близкому ключу»

textual
Листинг программы
int key = 8;
int findKey;
SortedList sl = new SortedList();
sl.Add(2, 2);
sl.Add(3, 2);
sl.Add(5, 2);
sl.Add(9, 2);
var temp = sl.Keys.Cast<int>().Where(r => r <= key);
findKey = temp.Count() != 0 ? temp.Max() : -1;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5