我想要一本字典,不会在词典中返回指定值的任意键,这样的:默认值.NET字典
var dict = new DictWithDefValues("not specified");
dict.Add("bob78", "Smart");
dict.Add("jane17", "Doe");
Assert.AreEqual(dict["xxx"], "not specified");
扩展System.Collections.Generics.Dictionary并覆盖TryGetValue没有按”因为TryGetValue不是虚拟的。
从零开始重新实现字典(来自IDictionary <,>)是太多的努力。
扩展方法不会让我用默认值“初始化”字典。我想解释的消费者认为,关键是存在的,不只是做dict.GetOrDefault(key, "not specified");
我处于同样的情况。我有各种业务对象类型的巨大集合。我想通过让Funcs字典应该返回标准Funcs或特殊情况下的Func来防止策略模式的极端使用,以防业务对象类型保证它。开放闭合原则。你最终在这里使用了什么? – Tormod 2011-03-20 17:43:57
由于我的字典不是很大,我只填写缺失的条目。 – 2011-03-21 15:40:22