我需要一个带有复合键的字典。到目前为止,我一直在使用元组:
Dictionary<(string key1, string key2, Datetime key3), TValue> groups = ...
但是现在我需要将键指定为属性的运行时列表。像
var key = new CompositeKey();
key.Add(key1)
key.Add(key2)
key.Add(key3);
Dictionary<CompositeKey, TValue> groups = ...
是否有任何现有的类可以用作CompositeKey,并且可以有效地覆盖GetHashCode和Equals?该词典可以包含数百万个项目。