To create a dictionary of dictionaries in C#, you can declare a dictionary where the value type is another dictionary. This allows you to create nested dictionaries, with each key in the outer dictionary mapping to another dictionary.
We can create a dictionary of dictionaries in C# by declaring a dictionary where the value type is another dictionary. This example demonstrates how to declare and initialize a dictionary of dictionaries, add key-value pairs to the inner dictionaries, and print the resulting nested dictionary.
For example,
using System.Collections.Generic;
.outerDict
where the value type is another dictionary.using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Declare and initialize a dictionary of dictionaries
Dictionary<string, Dictionary<string, int>> outerDict = new Dictionary<string, Dictionary<string, int>>
{
{ "A", new Dictionary<string, int> { { "X", 1 }, { "Y", 2 } } },
{ "B", new Dictionary<string, int> { { "Z", 3 } } }
};
// Print the resulting nested dictionary
Console.WriteLine("Dictionary of dictionaries:");
foreach (var outerKvp in outerDict)
{
Console.WriteLine("Key: {0}", outerKvp.Key);
foreach (var innerKvp in outerKvp.Value)
{
Console.WriteLine(" Inner Key: {0}, Value: {1}", innerKvp.Key, innerKvp.Value);
}
}
}
}
Dictionary of dictionaries: Key: A Inner Key: X, Value: 1 Inner Key: Y, Value: 2 Key: B Inner Key: Z, Value: 3
We can create and add to a dictionary of dictionaries dynamically in C# by declaring a dictionary where the value type is another dictionary. This example demonstrates how to declare the outer dictionary, add inner dictionaries dynamically, add key-value pairs to the inner dictionaries, and print the resulting nested dictionary.
For example,
using System.Collections.Generic;
.outerDict
where the value type is another dictionary.using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Declare the outer dictionary
Dictionary<string, Dictionary<string, int>> outerDict = new Dictionary<string, Dictionary<string, int>>();
// Add inner dictionaries dynamically
outerDict["A"] = new Dictionary<string, int>();
outerDict["B"] = new Dictionary<string, int>();
// Add key-value pairs to the inner dictionaries
outerDict["A"]["X"] = 1;
outerDict["A"]["Y"] = 2;
outerDict["B"]["Z"] = 3;
// Print the resulting nested dictionary
Console.WriteLine("Dictionary of dictionaries:");
foreach (var outerKvp in outerDict)
{
Console.WriteLine("Key: {0}", outerKvp.Key);
foreach (var innerKvp in outerKvp.Value)
{
Console.WriteLine(" Inner Key: {0}, Value: {1}", innerKvp.Key, innerKvp.Value);
}
}
}
}
Dictionary of dictionaries: Key: A Inner Key: X, Value: 1 Inner Key: Y, Value: 2 Key: B Inner Key: Z, Value: 3
In this tutorial, we learned How to Create a Dictionary of Dictionaries in C# language with well detailed examples.