これが辞書の正しいキーの選択であるかどうか疑問に思いますか?私がやりたいのは、次のような式を辞書のキーとして使用することです。
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ステートメントを持つよりもクリーンな方法です。
これは意味がありますか?それは機能しますか?もっと簡単な方法はありますか?