方法从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字典:获取或创建新的
您可以创建如下的扩展方法:
public static void CreateNewOrUpdateExisting<TKey, TValue>(
this IDictionary<TKey, TValue> map, TKey key, TValue value)
{
map[key] = value;
}
来源:方法在Dictionary