namespace adas_core.Domain.Utils; public static class DictionaryEx { public static TV? GetValue(this IDictionary dict, TK key, TV? defaultValue = default) { return dict.TryGetValue(key, out var value) ? value : defaultValue; } public static string ToListString(this IDictionary dict, string itemSeparator = ", ", string keySeparator = ": ") { var s = dict.Keys.Select(key => key + keySeparator + dict[key]).ToList(); return string.Join(itemSeparator, s); } public static TValue? TryGetAndReturn(this IDictionary dictionary, TKey key) where TKey : notnull where TValue : class { if (!dictionary.TryGetValue(key, out var retValue)) retValue = null; return retValue; } }