我创建了一个字典,其中Tuples为键,枚举器为值。
mKeyValue.Add(Tuple.Create(lineCount,columnID),(E)style);
mKeyValue
是字典。
static Dictionary<Tuple<int,int>,E> mKeyValue = new Dictionary<Tuple<int,int>,E>();
现在如何访问此词典中的元素? 我用了这样的东西,
mKeyValue[Tuple<lineCount,columnID>];
但它不起作用。
答案 0 :(得分:2)
与使用任何其他类型的密钥没什么不同。您需要将类型的实例而不是类型(声明)本身传递给索引器。
当您真正想要myKeyValue[int]
时,您不会对Dictionary<int, ...>
说myKeyValue[5]
。在这种情况下,关键看起来更“复杂”。
示例:
// Lookup entry for LineCount = 1, ColumnID = 4711
var value = myKeyValue[Tuple.Create(1, 4711)];
基本上,就像添加Dictionary<>.Add(...)
的条目一样。
答案 1 :(得分:1)
如果您已经定义了Tuple<int,int>
,那么请将其用作mKeyValue[t];
Tuple<int,int> t = Tuple.Create(1, 1);
mKeyValue.Add(Tuple.Create(1, 1), (E)21);
var data = mKeyValue[t];