Tag: keynotfoundexception

哪种机制是扩展Dictionary以处理丢失键的更好方法,为什么?

我发现自己有很多小麻烦 – 我有一个Dictionary ,其中包含可能存在或不存在的值。 所以正常的行为是使用索引器,如下所示: object result = myDictionary[“key”]; 但是,如果”key”不在字典中,则抛出KeyNotFoundException ,所以你这样做: object val; if (!myDictionary.TryGetValue(“key”, out val)) { val = ifNotFound; } 这很好,除了我可以连续加载这些 – TryGetValue开始觉得可怕的笨重。 因此选项1是一种扩展方法: public static TValue TryGet( this Dictionary input, TKey key, TValue ifNotFound = default(TValue)) { TValue val; if (input.TryGetValue(key, out val)) { return val; } return ifNotFound; } 这让我做: object […]