不是创建一个实现ILookup<T>
的全新类,而是可以在字典中添加一个扩展方法来满足它吗?我正在考虑以下内容:
public static void LookupAdd(this Dictionary<T, List<V>> dict, T key, V item)
{
if (!dict.ContainsKey(key))
{
dict.Add(key, new List<T>());
}
dict[key].Add(item);
}
无法编译,说无法识别类型。我猜我的通用参数太复杂了(特别是List<V>
)
答案 0 :(得分:8)
您忘记添加通用参数语法:
public static void LookupAdd<T, V>(this Dictionary<T, List<V>> dictionary, T key, V item)
{
}
缺少<T, V>
。
答案 1 :(得分:4)
...试
public static void LookupAdd<T,V>(this Dictionary<T, List<V>> dict, T key, V item)
{
if (!dict.ContainsKey(key))
{
dict.Add(key, new List<V>());
}
dict[key].Add(item);
}
更新:
请注意,您应该
new List<V>()
你有
的地方new List<T>()