我如何在 C# 中创建一个多值字典?
例如Dictionary<T,T,T>
其中第一个 T 是键,另外两个是值。
所以这是可能的:Dictionary<int,object,double>
谢谢
最佳答案
如果您尝试将值组合在一起,这可能是创建简单结构或类并将其用作字典中的值的好机会。
public struct MyValue
{
public object Value1;
public double Value2;
}
然后你就可以拥有你的字典了
var dict = new Dictionary<int, MyValue>();
您甚至可以更进一步,实现您自己的字典类来处理您需要的任何特殊操作。例如,如果你想要一个接受 int、object 和 double 的 Add 方法
public class MyDictionary : Dictionary<int, MyValue>
{
public void Add(int key, object value1, double value2)
{
MyValue val;
val.Value1 = value1;
val.Value2 = value2;
this.Add(key, val);
}
}
然后您可以像这样简单地实例化并添加到字典中,您不必担心创建“MyValue”结构:
var dict = new MyDictionary();
dict.Add(1, new Object(), 2.22);
关于c# - 多值词典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/569903/