Мне интересно, является ли это разумным выбором ключа для словаря? Я хочу использовать выражение как ключ в словаре, например:
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.
Это имеет смысл? Это будет работать? Есть ли более простой способ?