很多时候我不得不做类似的事情:
if (value == certainValueA) call functionA()
if (value == certainValueB) call functionB()
我一直这样做。但是现在我有50多个这样的案例,这种方式看起来很糟糕。
我想要一种更有效的方法。解决方案可能已有详细记录,但到目前为止,我用来查找这些内容的单词组合并没有返回任何有趣的结果。
我主要需要指明要研究的内容。
答案 0 :(得分:6)
您可以使用填充代表的词典;类似的东西:
var dispatch = new Dictionary<TypeOfValue, Action>() {
{ certainValueA, () => functionA() },
{ certainValueB, () => functionB() },
};
TypeOfValue value = // get value here
dispatch[value]();