📅  最后修改于: 2023-12-03 14:39:45.550000             🧑  作者: Mango
有时候我们需要将两个字典合并在一起。在 C# 中可以使用 Dictionary
类型来存储键值对。合并两个字典可以通过 Add()
方法将一个字典中的每一个键值对添加到另一个字典中,但是如果两个字典中存在相同的键,则会出现异常。
接下来我们将介绍 C# 中两种合并两个字典的方法。
可以使用 .NET Framework 提供的 Union
方法来合并两个字典,这个方法会返回一个新的字典,并且不会修改原有的字典。示例代码如下:
Dictionary<string, string> dict1 = new Dictionary<string, string>()
{
{ "key1", "value1" },
{ "key2", "value2" }
};
Dictionary<string, string> dict2 = new Dictionary<string, string>()
{
{ "key2", "value3" },
{ "key3", "value4" }
};
Dictionary<string, string> result = dict1.Union(dict2).ToDictionary(pair => pair.Key, pair => pair.Value);
foreach (KeyValuePair<string, string> kvp in result)
{
Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
上述代码将输出以下内容:
key1: value1
key2: value2
key3: value4
我们也可以使用 foreach
循环来将一个字典中的每一个键值对添加到另一个字典中。示例代码如下:
Dictionary<string, string> dict1 = new Dictionary<string, string>()
{
{ "key1", "value1" },
{ "key2", "value2" }
};
Dictionary<string, string> dict2 = new Dictionary<string, string>()
{
{ "key2", "value3" },
{ "key3", "value4" }
};
foreach (KeyValuePair<string, string> kvp in dict2)
{
if (!dict1.ContainsKey(kvp.Key))
{
dict1.Add(kvp.Key, kvp.Value);
}
}
foreach (KeyValuePair<string, string> kvp in dict1)
{
Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
上述代码将输出以下内容:
key1: value1
key2: value2
key3: value4
我们首先创建了两个字典 dict1
和 dict2
,然后使用 foreach
循环将 dict2
中的每一个键值对添加到 dict1
中。最后遍历 dict1
输出所有的键值对。
总的来说,在 C# 中合并两个字典有多种方法。可以根据实际需要选择最适合的方法来合并字典。代码也可以根据实际需求进行适当修改。