Какой словарь .NET поддерживает операцию «найти ближайший ключ»?
Я конвертирую некоторый код C ++ в C #, и он вызывает std :: map :: lower_bound (k), чтобы найти запись на карте, ключ которой равен или больше k. Тем не менее, я не вижу способа сделать то же самое с .NET SortedDictionary. Я подозреваю, что мог бы реализовать обходной путь, используя SortedList, но, к сожалению, SortedList слишком медленный (O (n) для вставки и удаления ключей). Что я могу сделать?
Примечание: я нашел обходной путь, использующий преимущества моего конкретного сценария ... В частности, мои ключи представляют собой плотную совокупность целых чисел, начиная с чуть более 0, поэтому я использовал List <TValue> в качестве словаря с индексом списка, служащим в качестве ключ и поиск ключа, равного или превышающего k, можно выполнить всего за несколько итераций цикла. Но все равно было бы приятно увидеть ответ на оригинальный вопрос.