Нет ничего встроенного - я не нахожу этот синтаксис интуитивно понятным, но вы могли бы написать свой собственный метод расширения, чтобы помочь вам:
public static class DictionaryHelper
{
public static void AddIf<T, U>(this Dictionary<T, U> dict,
T key,
U value,
Predicate<T> pred)
{
if (pred(key))
dict.Add(key, value);
}
}
Пример использования:
Dictionary<string, string> dict = new Dictionary<string, string>();
Predicate<string> predicate = key => { return key.Length == 3; };
dict.AddIf("foo", "bar", predicate); //foo added
dict.AddIf("tooLong", "baz", predicate); //toolong not added