Нужна коллекция с несколькими независимыми ключами - 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;
}