Нужна коллекция с несколькими независимыми ключами - C#

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

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

Добрый день. Нужна коллекция типа: Dictionary<Key1, Key2, Key3, Value>. Поиск ведется по разным ключам, независимо. Думается, что решение Dictionary<KeyPair<Key1,Key2,Key3>, Value> - не будет эффективно работать при выборке по Key3. Я так понимаю, что можно использовать DataTable, но хочется чего-то более быстрого и легкого. Есть ли какие-то стандартные классы, для решения такой задачи? Есть ли какие-то известные библиотеки, для решения такой задачи?

Решение задачи: «Нужна коллекция с несколькими независимыми ключами»

textual
Листинг программы
private int FindEntry(TKey key) {
            if( key == null) {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key);
            }
 
            if (buckets != null) {
                int hashCode = comparer.GetHashCode(key) & 0x7FFFFFFF;
                for (int i = buckets[hashCode % buckets.Length]; i >= 0; i = entries[i].next) {
                    if (entries[i].hashCode == hashCode && comparer.Equals(entries[i].key, key)) return i;
                }
            }
            return -1;
        }

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


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

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

12   голосов , оценка 3.917 из 5
Похожие ответы