代码之家  ›  专栏  ›  技术社区  ›  u84six

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

  •  -3
  • u84six  · 技术社区  · 6 年前

    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#Dictionary键在添加时不会保留其顺序,因此是否有其他方法可以这样做以使键保留其顺序?

    2 回复  |  直到 6 年前
        1
  •  2
  •   adjan    6 年前

    .NET中不存在通用有序词典,但可以使用 OrderedDictionary 改为上课。看见 MSDN

        2
  •  -1
  •   user10458215 user10458215    6 年前

    使用 Queue 来自 System.Collections.Generic

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