2016-02-17 1 views
1

У меня есть OrderedDictionary, как показано в нижеприведенном фрагменте кода, где ключи являются строками, целыми числами и символами.Как получить доступ к значению в упорядоченном словаре, когда даже один из ключей является целым числом?

Ну, я довольно новичок в OrderedDictionary, и все, что я знаю, это то, что упорядоченный словарь может хранить любые пары ключей/значений, и мы можем получать доступ к значениям через индекс и ключи.

 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» в качестве индекса.

Большое спасибо!

ответ

2

Вы можете отличить целочисленное значение от 1 до объекта, чтобы попасть в правильный индекс.

Console.WriteLine(od[(object)1]); 
1

Cast аргумент к объекту, чтобы заставить использование объекта индексатор:

Console.WriteLine(od[(object)1]); 

Это должно работать.

Смежные вопросы