Re[2]: Полезняшка для dictionary
От: -n1l-  
Дата: 29.04.16 16:51
Оценка:
Здравствуйте, 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>


А я не смотрел код)
Только сегодня додумался о такой функции и решил предложить.
А почему у первого колбэка два параметра входных?
Зачем?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.