方法从Dictionary中获取值,如果值不存在,则创建一个

本文关键字:创建 一个 如果 Dictionary 获取 方法 不存在 | 更新日期: 2023-09-27 18:03:42

我有一本字典>。是否有任何函数可以获取特定键的列表,并且在列表不存在的情况下创建列表。例如,这行不通:

Dictionary<string, List<string>> d = new Dictionary<string, List<string>>();
d["Bob"].Add("Fred");

现在我必须这样做:

Dictionary<string, List<string>> d = new Dictionary<string, List<string>>();
List<string> l = d["Bob"];
if(l == null) { l = d["Bob"] = new List<string>(); }
l.Add("Fred");

我考虑添加一个扩展方法Get(T key),这将允许我这样做:

Dictionary<string, List<string>> d = new Dictionary<string, List<string>>();
d.Get("Bob").Add("Fred");

但是我想检查一下这样的东西是否已经存在。

看起来这是一个骗局,这有一个很好的答案:

。. NET字典:获取或创建新的

方法从Dictionary中获取值,如果值不存在,则创建一个

您可以创建如下的扩展方法:

public static void CreateNewOrUpdateExisting<TKey, TValue>(
    this IDictionary<TKey, TValue> map, TKey key, TValue value)
{
    map[key] = value;
}

来源:方法在Dictionary

中添加新项或更新现有项。
相关文章: