diff options
Diffstat (limited to 'LibMatrix/Extensions/DictionaryExtensions.cs')
-rw-r--r-- | LibMatrix/Extensions/DictionaryExtensions.cs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/LibMatrix/Extensions/DictionaryExtensions.cs b/LibMatrix/Extensions/DictionaryExtensions.cs deleted file mode 100644 index f01cf68..0000000 --- a/LibMatrix/Extensions/DictionaryExtensions.cs +++ /dev/null @@ -1,32 +0,0 @@ -namespace LibMatrix.Extensions; - -public static class DictionaryExtensions { - public static bool ChangeKey<TKey, TValue>(this IDictionary<TKey, TValue> dict, - TKey oldKey, TKey newKey) { - if (!dict.Remove(oldKey, out var value)) - return false; - - dict[newKey] = value; // or dict.Add(newKey, value) depending on ur comfort - return true; - } - - public static Y GetOrCreate<X, Y>(this IDictionary<X, Y> dict, X key) where Y : new() { - if (dict.TryGetValue(key, out var value)) { - return value; - } - - value = new Y(); - dict.Add(key, value); - return value; - } - - public static Y GetOrCreate<X, Y>(this IDictionary<X, Y> dict, X key, Func<X, Y> valueFactory) { - if (dict.TryGetValue(key, out var value)) { - return value; - } - - value = valueFactory(key); - dict.Add(key, value); - return value; - } -} |