即使其中一个键是整数,如何访问有序字典中的值?
How to access value in an Ordered Dictionary when even one of the keys is an integer?
我有一个 OrderedDictionary,如下面的代码片段所示,其中的键是 strings、integer 和 character。
嗯,我对 OrderedDictionary 很陌生,我所知道的是有序字典可以存储任何类型的 key/value 对,我们可以通过索引和键访问值。
OrderedDictionary od = new OrderedDictionary();
od.Add("Key1", "Val1");
od.Add("Key2", "Val2");
od.Add("Key3", "Val3");
od.Add(1, "Val4");
od.Add('k', 'V');
所以,我想知道如果我需要访问上面的Val4,那我应该怎么做呢?因为当我尝试使用
Console.WriteLine(od[1]);
它给我 'Val2' 因为它显然将“1”视为索引。
非常感谢!
您可以将整数值 1 转换为对象以命中正确的索引器。
Console.WriteLine(od[(object)1]);
将参数转换为对象以强制使用对象索引器:
Console.WriteLine(od[(object)1]);
应该可以。
我有一个 OrderedDictionary,如下面的代码片段所示,其中的键是 strings、integer 和 character。
嗯,我对 OrderedDictionary 很陌生,我所知道的是有序字典可以存储任何类型的 key/value 对,我们可以通过索引和键访问值。
OrderedDictionary od = new OrderedDictionary();
od.Add("Key1", "Val1");
od.Add("Key2", "Val2");
od.Add("Key3", "Val3");
od.Add(1, "Val4");
od.Add('k', 'V');
所以,我想知道如果我需要访问上面的Val4,那我应该怎么做呢?因为当我尝试使用
Console.WriteLine(od[1]);
它给我 'Val2' 因为它显然将“1”视为索引。
非常感谢!
您可以将整数值 1 转换为对象以命中正确的索引器。
Console.WriteLine(od[(object)1]);
将参数转换为对象以强制使用对象索引器:
Console.WriteLine(od[(object)1]);
应该可以。