1 people like it.
    Like the snippet!
  
  tryGetDefault dictionary extension
  Try get a value from a dictionary and return a default value when not found. I provided two version. Pick the one you like the most.
  |  1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
 | module Dict = 
    open System.Collections.Generic
    let tryGetDefault_v1 (d:IDictionary<'k,'v>) (key:'k) (defaultValue:'v) =
        if d.ContainsKey(key) then
            d.[key]
        else
            defaultValue
    let tryGetDefault_v2 (d:IDictionary<'k,'v>) (key:'k) (defaultValue:'v) =
        let mutable value = defaultValue
        if d.TryGetValue(key, &value) then
            value
        else
            defaultValue
 | 
namespace System
namespace System.Collections
namespace System.Collections.Generic
val tryGetDefault_v1 : d:IDictionary<'k,'v> -> key:'k -> defaultValue:'v -> 'v
Full name: Script.Dict.tryGetDefault_v1
val d : IDictionary<'k,'v>
type IDictionary<'TKey,'TValue> =
  member Add : key:'TKey * value:'TValue -> unit
  member ContainsKey : key:'TKey -> bool
  member Item : 'TKey -> 'TValue with get, set
  member Keys : ICollection<'TKey>
  member Remove : key:'TKey -> bool
  member TryGetValue : key:'TKey * value:'TValue -> bool
  member Values : ICollection<'TValue>
Full name: System.Collections.Generic.IDictionary<_,_>
val key : 'k
val defaultValue : 'v
IDictionary.ContainsKey(key: 'k) : bool
val tryGetDefault_v2 : d:IDictionary<'k,'v> -> key:'k -> defaultValue:'v -> 'v
Full name: Script.Dict.tryGetDefault_v2
val mutable value : 'v
IDictionary.TryGetValue(key: 'k, value: byref<'v>) : bool
  
  
  More information