通用字典,可以通过添加键的方式保留键的顺序

时间:2018-10-05 18:24:38

标签: c# dictionary

我正在尝试做这样的事情:

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 :(得分:2)

.NET中不存在通用的有序词典,但是您可以使用OrderedDictionary类。参见MSDN

答案 1 :(得分:-1)

使用Queue中的System.Collections.Generic类来确保顺序。

// Create queue
Queue<TestItem> queue = new Queue<TestItem>();
// Add item
queue.Enqueue(new TestItem { });
// Fetch item
queue.Dequeue();