mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
26 lines
635 B
C#
26 lines
635 B
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace Wabbajack
|
|||
|
{
|
|||
|
public static class DictionaryExt
|
|||
|
{
|
|||
|
public static V TryCreate<K, V>(this IDictionary<K, V> dict, K key)
|
|||
|
where V : new()
|
|||
|
{
|
|||
|
return dict.TryCreate(key, () => new V());
|
|||
|
}
|
|||
|
|
|||
|
public static V TryCreate<K, V>(this IDictionary<K, V> dict, K key, Func<V> create)
|
|||
|
{
|
|||
|
if (dict.TryGetValue(key, out var val)) return val;
|
|||
|
var ret = create();
|
|||
|
dict[key] = ret;
|
|||
|
return ret;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|