Словарь с Func в качестве ключа

Мне интересно, если это разумный выбор ключа для словаря? Что я хочу сделать, это использовать выражение в качестве ключа в словаре, что-то вроде:

    var map3 = new Dictionary<Func<int, bool>, int>();
    map3.Add((x) => x % 2 == 0, 1);
    map3.Add((x) => x % 10 == 0, 2);
    // ...

    var key = map3.Keys.SingleOrDefault(f => f(2));
    // key = (x) => x % 2
    // map3[key] = 1

Идея в том, что это более чистый способ, чем использование больших операторов if-else или switch.

Имеет ли это смысл? Это будет работать? Есть ли более простой способ?

Ответы на вопрос(2)

Ваш ответ на вопрос