Информация об изменениях

Сообщение Re: Полезняшка для dictionary от 29.04.2016 15:22

Изменено 29.04.2016 15:23 AndrewVK

Здравствуйте, -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>>
Re: Полезняшка для dictionary
Здравствуйте, -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>>