BidiMap
- это интерфейс, который определяет карту, которая позволяет отображать от ключа к значению, а также от значения к ключу (таким образом, «двунаправленный»). TreeBidiMap
- это реализация этих интерфейсов, которая использует красно-черное дерево.
Ни один из этих классов не существует в .NET BCL как таковой, но я думаю, что они могут быть составлены из более простых примитивов. В частности, C5 Generic Collection Library обеспечивает реализацию красно-черного дерева, а двунаправленная карта может быть реализована поверх стандартного Dictionary<TKey, TValue>
.