即使其中一个键是整数,如何访问有序字典中的值?

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]);

应该可以。