To swap keys and values in a dictionary in C#, you can use a `foreach` loop to iterate through the original dictionary and add each key-value pair to a new dictionary with the key and value swapped. This allows you to create a new dictionary where the keys and values are swapped.
We can swap keys and values in a dictionary in C# using a `foreach` loop. This example demonstrates how to declare and initialize a dictionary, use a `foreach` loop to swap the keys and values, and print the resulting dictionary.
For example,
using System.Collections.Generic;
.originalDict
with integer keys and string values.swappedDict
to store the swapped key-value pairs.using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Declare and initialize a dictionary
Dictionary<int, string> originalDict = new Dictionary<int, string>
{
{1, "One"},
{2, "Two"},
{3, "Three"}
};
// Declare an empty dictionary to store the swapped key-value pairs
Dictionary<string, int> swappedDict = new Dictionary<string, int>();
// Use a foreach loop to swap the keys and values
foreach (var kvp in originalDict)
{
swappedDict[kvp.Value] = kvp.Key;
}
// Print the resulting dictionary
Console.WriteLine("Swapped dictionary:");
foreach (var kvp in swappedDict)
{
Console.WriteLine("Key: {0}, Value: {1}", kvp.Key, kvp.Value);
}
}
}
Swapped dictionary: Key: One, Value: 1 Key: Two, Value: 2 Key: Three, Value: 3
We can swap keys and values in a dictionary with duplicate values in C# by checking for duplicates and handling them appropriately. This example demonstrates how to declare and initialize a dictionary with duplicate values, use a `foreach` loop to swap the keys and values while handling duplicates, and print the resulting dictionary.
For example,
using System.Collections.Generic;
.originalDict
with integer keys and string values, including duplicate values.swappedDict
to store the swapped key-value pairs.using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Declare and initialize a dictionary with duplicate values
Dictionary<int, string> originalDict = new Dictionary<int, string>
{
{1, "One"},
{2, "Two"},
{3, "One"}
};
// Declare an empty dictionary to store the swapped key-value pairs
Dictionary<string, List<int>> swappedDict = new Dictionary<string, List<int>>();
// Use a foreach loop to swap the keys and values
foreach (var kvp in originalDict)
{
if (!swappedDict.ContainsKey(kvp.Value))
{
swappedDict[kvp.Value] = new List<int>();
}
swappedDict[kvp.Value].Add(kvp.Key);
}
// Print the resulting dictionary
Console.WriteLine("Swapped dictionary:");
foreach (var kvp in swappedDict)
{
Console.WriteLine("Key: {0}, Values: {1}", kvp.Key, string.Join(", ", kvp.Value));
}
}
}
Swapped dictionary: Key: One, Values: 1, 3 Key: Two, Values: 2
In this tutorial, we learned How to Swap Keys and Values in a Dictionary in C# language with well detailed examples.