为了汇总某些特定值的出现次数,我使用的是 a dictionary<valueName:string, counter:int>
,我并不确切知道这些值。所以我写了一个方法SetOrIncrement
,据说它被用作
myDictionary.SetOrIncrement(name, 1);
然而,有 VisualStudio 抱怨
“字典不包含'SetOrIncrement'的定义,并且找不到接受'Dictionary'类型的第一个参数的扩展方法'SetOrIncrement'。”
谁能告诉我是什么原因?
这是SetAndIncrement
方法:
public static class ExtensionMethods
{
public static int SetOrIncrement<TKey, int>(this Dictionary<TKey, int> dict, TKey key, int set) {
int value;
if (!dict.TryGetValue(key, out value)) {
dict.Add(key, set);
return set;
}
dict[key] = ++value;
return value;
}
}