Получение конкретного значения из словаря - PullRequest
0 голосов
/ 15 ноября 2018

возможно ли получить конкретный элемент из словаря?Например, у меня есть такой словарь, и я хотел бы получить третий элемент как целое число, как я могу это сделать?

public Dictionary<int, char> CodesOfLetters = new Dictionary<int, char>()
        {
              {260,'Ą'},
              {261,'ą'},
              {280,'Ę'},
              {281,'ę'},
              {362,'Ū'},
              {363,'ū'},
              {268,'Č'},
              {352,'Š'},
              {381,'Ž'},
              {269,'č'},
              {353,'š'},
              {382,'ž'},
              {278,'Ė'},
              {279,'ė'},
              {302,'Į'},
              {303,'į'},
              {370,'Ų'},
              {371,'ų'}
        };

1 Ответ

0 голосов
/ 15 ноября 2018

Конечно, Dictionary<int,char> также является IEnumerable<KeyValuePair<int,char>>, поэтому вы можете использовать:

var anElement = CodesOfLetters.ElementAt(2); 

(при условии, что у вас using System.Linq вверху файла.)

Но имейте в виду, порядок словаря не гарантирован - если вы заботитесь о порядке слов, вы, вероятно, не хотите, чтобы словарь начинался с.


Редактировать.Вы комментируете, что вы хотите 280 - вы также можете рассматривать Keys как IEnumerable<int>, чтобы вы могли сделать:

var thirdKey = CodesOfLetters.Keys.ElementAt(2);

с тем же предостережением, что и выше.Порядок ключей не гарантируется.


Если вы хотите отслеживать порядок добавления элементов в список, но также можете найти значения по ключу, вы можете создать класс, которыйвключает в себя List<int> для упорядоченного списка ключей и Dictionary<int,char> для быстрого поиска значений по ключу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...