Общий словарь, который может сохранять порядок ключей по способу их добавления - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь сделать что-то вроде этого:

Dictionary dict = Dictionary<string, List<string>>();
dict.Add("someKey1", new List<string>());
dict.Add("orange", new List<string>());
dict.Add("foo", new List<string>());

И затем, когда я перебираю ключи, я бы хотел, чтобы они сохранили порядок, как они были добавлены:

foreach(KeyValuePair<string, string> entry in myDictionary)
{
    Console.WriteLine(entry.Key);
}

Следует распечатать:

someKey1
orange
foo

Я знаю, что ключи словаря c # не сохраняют свой порядок, как они были добавлены, так что есть ли другой способ сделать это, чтобы ключи сохранили своизаказ?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Используйте Queue класс из System.Collections.Generic для обеспечения заказа.

// Create queue
Queue<TestItem> queue = new Queue<TestItem>();
// Add item
queue.Enqueue(new TestItem { });
// Fetch item
queue.Dequeue();
0 голосов
/ 05 октября 2018

Общий упорядоченный словарь не существует в .NET, но вы можете использовать класс OrderedDictionary.См MSDN

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