How to Merge Two Dictionaries in C#


How to Merge Two Dictionaries in C# ?

Answer

To merge two dictionaries in C#, you can use the `Union` method from the `System.Linq` namespace or iterate through one dictionary and add its elements to the other dictionary using the `Add` method. This allows you to combine the key-value pairs from both dictionaries.



✐ Examples

1 Merging Two Dictionaries Using `Union`

We can merge two dictionaries in C# using the `Union` method from the `System.Linq` namespace. This example demonstrates how to declare and initialize two dictionaries, use the `Union` method to merge them, and print the merged dictionary.

For example,

  1. We start by including the necessary namespaces: using System.Collections.Generic; and using System.Linq;.
  2. We declare and initialize two dictionaries named firstDict and secondDict with integer keys and string values.
  3. We use the `Union` method to merge the dictionaries.
  4. We convert the result to a dictionary using the `ToDictionary` method.
  5. We print the merged dictionary.

C# Program

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        // Declare and initialize two dictionaries
        Dictionary<int, string> firstDict = new Dictionary<int, string>
        {
            {1, "One"},
            {2, "Two"}
        };

        Dictionary<int, string> secondDict = new Dictionary<int, string>
        {
            {3, "Three"},
            {4, "Four"}
        };

        // Merge the dictionaries using Union
        Dictionary<int, string> mergedDict = firstDict
            .Union(secondDict)
            .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

        // Print the merged dictionary
        Console.WriteLine("Merged dictionary:");
        foreach (var kvp in mergedDict)
        {
            Console.WriteLine("Key: {0}, Value: {1}", kvp.Key, kvp.Value);
        }
    }
}

Output

Merged dictionary:
Key: 1, Value: One
Key: 2, Value: Two
Key: 3, Value: Three
Key: 4, Value: Four

2 Merging Two Dictionaries Using `Add` Method

We can merge two dictionaries in C# by iterating through one dictionary and adding its elements to the other dictionary using the `Add` method. This example demonstrates how to declare and initialize two dictionaries, iterate through the second dictionary to add its elements to the first dictionary, and print the merged dictionary.

For example,

  1. We start by including the necessary namespace: using System.Collections.Generic;.
  2. We declare and initialize two dictionaries named firstDict and secondDict with integer keys and string values.
  3. We iterate through the second dictionary to add its elements to the first dictionary using the `Add` method.
  4. We print the merged dictionary.

C# Program

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Declare and initialize two dictionaries
        Dictionary<int, string> firstDict = new Dictionary<int, string>
        {
            {1, "One"},
            {2, "Two"}
        };

        Dictionary<int, string> secondDict = new Dictionary<int, string>
        {
            {3, "Three"},
            {4, "Four"}
        };

        // Merge the dictionaries by adding elements from secondDict to firstDict
        foreach (var kvp in secondDict)
        {
            firstDict.Add(kvp.Key, kvp.Value);
        }

        // Print the merged dictionary
        Console.WriteLine("Merged dictionary:");
        foreach (var kvp in firstDict)
        {
            Console.WriteLine("Key: {0}, Value: {1}", kvp.Key, kvp.Value);
        }
    }
}

Output

Merged dictionary:
Key: 1, Value: One
Key: 2, Value: Two
Key: 3, Value: Three
Key: 4, Value: Four

Summary

In this tutorial, we learned How to Merge Two Dictionaries in C# language with well detailed examples.




More C# Dictionaries Tutorials

  1. How to create an Empty Dictionary in C# ?
  2. How to create a Dictionary with Initial Key-Value Pairs in C# ?
  3. How to Print a Dictionary in C# ?
  4. How to Add a Key-Value Pair to a Dictionary in C# ?
  5. How to Set a Default Value for a Key in a Dictionary in C# ?
  6. How to Update the Value for a Key in a Dictionary in C# ?
  7. How to Check if a Dictionary is Empty in C# ?
  8. How to Check if a Key Exists in a Dictionary in C# ?
  9. How to Check if a Value Exists in a Dictionary in C# ?
  10. How to Get the Value Associated with a Key in a Dictionary in C# ?
  11. How to Remove a Key-Value Pair from a Dictionary in C# ?
  12. How to Remove Key-Value Pairs from a Dictionary Based on Values in C# ?
  13. How to Clear all Key-Value Pairs from a Dictionary in C# ?
  14. How to Iterate over Keys in a Dictionary in C# ?
  15. How to Iterate over Values in a Dictionary in C# ?
  16. How to Iterate over Entries (Key-Value Pairs) in a Dictionary in C# ?
  17. How to Get the Size (Number of Key-Value Pairs) of a Dictionary in C# ?
  18. How to Convert a Dictionary to an Array of Keys in C# ?
  19. How to Convert a Dictionary to an Array of Values in C# ?
  20. How to Convert a Dictionary to an Array of Key-Value Pairs in C# ?
  21. How to Merge Two Dictionaries in C# ?
  22. How to Clone a Dictionary in C# ?
  23. How to Check if Two Dictionaries are Equal in C# ?
  24. How to Sort a Dictionary by Keys in C# ?
  25. How to Sort a Dictionary by Values in C# ?
  26. How to Filter a Dictionary Based on Keys in C# ?
  27. How to Filter a Dictionary Based on Values in C# ?
  28. How to Reduce Values in a Dictionary to a Single Value in C# ?
  29. How to Convert an Array of Key-Value Pairs to a Dictionary in C# ?
  30. How to Convert a Dictionary to a JSON String in C# ?
  31. How to Convert a JSON String to a Dictionary in C# ?
  32. How to Swap Keys and Values in a Dictionary in C# ?
  33. How to Create a Dictionary of Dictionaries in C# ?
  34. How to Iterate Over a Dictionary of Dictionaries in C# ?