📜  嵌套字典 c# (1)

📅  最后修改于: 2023-12-03 15:25:24.270000             🧑  作者: Mango

嵌套字典 C#

在 C# 中, 嵌套字典(Dictionary)特指一个字典中的值(Key-Value)也是一个字典。

定义嵌套字典

可以使用嵌套字典提供更灵活的数据结构。以下是如何声明一个嵌套字典:

Dictionary<string, Dictionary<string, int>> nestedDict = new Dictionary<string, Dictionary<string, int>>();

在上面的例子中, 建立了一个嵌套字典,它以 string 类型作为第一层值(Key),第二层的值(Key-Value)是 Dictionary<string, int>

字典添加和访问

因为嵌套字典有两次索引(key),所以需要使用两次索引来访问值。

nestedDict["outerKey"] = new Dictionary<string, int>();
nestedDict["outerKey"]["innerKey"] = 5;

在上面的例子中,为 outerKey 添加了一个嵌套字典,该嵌套字典的 innerKey 中添加了一个值 5

循环访问嵌套字典

可以使用嵌套循环来遍历嵌套字典中的所有键和值,以下是例子:

foreach (var outerPair in nestedDict)
{
     Console.WriteLine("Outer key: " + outerPair.Key); // 外层 Key
     foreach (var innerPair in outerPair.Value)
     {
          Console.WriteLine("Inner key: " + innerPair.Key + ", Inner Value: " + innerPair.Value); // 内层键值 
     }
}

在上面的例子中,使用了两次嵌套循环访问内部和外部字典。

总结

嵌套字典(Dictionary)提供了在 C# 中灵活数据结构提供,可以使用Dictionary<string, Dictionary<string, int>> nestedDict = new Dictionary<string, Dictionary<string, int>>(); 来实现嵌套字典的声明,在访问和添加一个值时需要使用两个嵌套的键索引,使用循环遍历可以访问内部和外部字典的所有键和值。