24 lines
826 B
C#
24 lines
826 B
C#
namespace adas_core.Domain.Utils;
|
|
|
|
public static class DictionaryEx
|
|
{
|
|
public static TV? GetValue<TK, TV>(this IDictionary<TK, TV> dict, TK key, TV? defaultValue = default)
|
|
{
|
|
return dict.TryGetValue(key, out var value) ? value : defaultValue;
|
|
}
|
|
|
|
public static string ToListString<TK, TV>(this IDictionary<TK, TV> 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<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key)
|
|
where TKey : notnull where TValue : class
|
|
{
|
|
if (!dictionary.TryGetValue(key, out var retValue)) retValue = null;
|
|
return retValue;
|
|
}
|
|
} |