Здравствуйте, -n1l-, Вы писали:
N>Как вам такое?
Присутствует под названием GetValueOrDefault. Или я что то не так понял?
[Pure]
public static TResult GetValueOrDefault<TKey, TValue, TResult>(
[NotNull] this IDictionary<TKey, TValue> dictionary,
TKey key,
[NotNull, InstantHandle] Func<TKey, TValue, TResult> resultSelector,
[NotNull, InstantHandle] Func<TKey, TResult> defaultValueFactory)
{
Code.NotNull(dictionary, nameof(dictionary));
Code.NotNull(resultSelector, nameof(resultSelector));
Code.NotNull(defaultValueFactory, nameof(defaultValueFactory));
TValue result;
return
dictionary.TryGetValue(key, out result)
? resultSelector(key, result)
: defaultValueFactory(key);
}
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>