基本上我想要像Dictionary <Tkey1,TKey2,TValue>这样的东西,但不是(正如我在其他问题中看到过的那样)和AND中的键,但是在OR中.为了更好地解释:我希望能够在字典中找到只提供其中一个键的元素,而不是两者.
我还认为我们应该考虑线程安全性以及轻松扩展到Dictionary <Tkey1,TKey2,TKeyN,TValue>解决方案的能力......
基于这个问题,是否有一个简单的解决方案,可以使用多键字典,其中任何一个键都可以用来识别值?
即.
MultikeyDictionary<TKey1, TKey2, TValue> foo;
foo.Add(key1, key2, value);
myValue = foo[key1];
// value == myValue
foo.Remove(key2);
myValue = foo[key1]; // invalid, Exception or null returned
Run Code Online (Sandbox Code Playgroud)