Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, -n1l-, Вы писали:
N>>Как вам такое?
AVK>Присутствует под названием GetValueOrDefault. Или я что то не так понял?
AVK>AVK>[Pure]
AVK>public static TResult GetValueOrDefault<TKey, TValue, TResult>(
AVK> [NotNull] this IDictionary<TKey, TValue> dictionary,
AVK> TKey key,
AVK> [NotNull, InstantHandle] Func<TKey, TValue, TResult> resultSelector,
AVK> [NotNull, InstantHandle] Func<TKey, TResult> defaultValueFactory)
AVK>{
AVK> Code.NotNull(dictionary, nameof(dictionary));
AVK> Code.NotNull(resultSelector, nameof(resultSelector));
AVK> Code.NotNull(defaultValueFactory, nameof(defaultValueFactory));
AVK> TValue result;
AVK> return
AVK> dictionary.TryGetValue(key, out result)
AVK> ? resultSelector(key, result)
AVK> : defaultValueFactory(key);
AVK>}
AVK>
А я не смотрел код)
Только сегодня додумался о такой функции и решил предложить.
А почему у первого колбэка два параметра входных?
Зачем?