繁体   English   中英

如何在C#中使用元组作为键的字典中访问值?

[英]How to access value in a Dictionary that has a Tuple as the Key in c#?

我已经创建了一个字典,其中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>];

但它不起作用。

它与使用任何其他类型的密钥没有什么不同。 您需要将类型的实例而不是类型(声明)本身传递给索引器。

当你真的想要myKeyValue[5]时,对于Dictionary<int, ...> ,你不会说myKeyValue[int] myKeyValue[5] 在这种情况下,关键看起来更“复杂”。

例:

// Lookup entry for LineCount = 1, ColumnID = 4711
var value = myKeyValue[Tuple.Create(1, 4711)];

基本上,就像在使用Dictionary<>.Add(...)条目时一样Dictionary<>.Add(...)

如果已经定义了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];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM