c#

如何处理C# Map集合中的重复键值

小樊
106
2024-09-04 15:51:37
栏目: 编程语言

在C#中,Map集合通常是指Dictionary<TKey, TValue>

  1. 使用TryGetValue方法检查键是否已存在。如果存在,则更新相应的值;如果不存在,则添加新项。
Dictionary<string, int> myDict = new Dictionary<string, int>();
string key = "example";
int value = 42;

if (myDict.TryGetValue(key, out int currentValue))
{
    myDict[key] = currentValue + value; // 更新值
}
else
{
    myDict.Add(key, value); // 添加新项
}
  1. 使用ContainsKey方法检查键是否已存在。如果存在,则更新相应的值;如果不存在,则添加新项。
Dictionary<string, int> myDict = new Dictionary<string, int>();
string key = "example";
int value = 42;

if (myDict.ContainsKey(key))
{
    myDict[key] += value; // 更新值
}
else
{
    myDict.Add(key, value); // 添加新项
}
  1. 使用TryAdd方法尝试添加新项。如果键已存在,则不会执行任何操作。
Dictionary<string, int> myDict = new Dictionary<string, int>();
string key = "example";
int value = 42;

if (!myDict.TryAdd(key, value))
{
    myDict[key] += value; // 更新值
}

请注意,这些示例仅适用于简单的聚合操作(如求和)。根据您的需求,您可能需要定义自己的逻辑来处理重复键。

0
看了该问题的人还看了