最佳答案
我发现自己现在在代码中经常使用当前模式
var dictionary = new Dictionary<type, IList<othertype>>();
// Add stuff to dictionary
var somethingElse = dictionary.ContainsKey(key) ? dictionary[key] : new List<othertype>();
// Do work with the somethingelse variable
有时
var dictionary = new Dictionary<type, IList<othertype>>();
// Add stuff to dictionary
IList<othertype> somethingElse;
if(!dictionary.TryGetValue(key, out somethingElse) {
somethingElse = new List<othertype>();
}
这两种方式感觉都很迂回。我真正想要的是这样的东西
dictionary.GetValueOrDefault(key)
现在,我可以为字典类编写一个扩展方法来为我做这件事,但我认为我可能遗漏了一些已经存在的东西。所以,有没有一种方法来做到这一点,以一种更“容易在眼睛”,而不写一个扩展方法的字典?