在代码中有没有类似于真值表的简单方法?它有2个输入和4个结果,如下所示:
我现在的代码是:
private void myMethod(bool param1, bool param2)
{
Func<int, int, bool> myFunc;
if (param1)
{
if (param2)
myFunc = (x, y) => x >= y;
else
myFunc = (x, y) => x <= y;
}
else
{
if (param2)
myFunc = (x, y) => x < y;
else
myFunc = (x, y) => x > y;
}
//do more stuff
}
最佳答案
我建议使用数组,即。
// XOR truth table
bool[][] truthTable = new bool[][] {
new bool[] {false, true},
new bool[] {true, false},
};
…
private void myMethod(bool param1, bool param2, bool[][] table) {
return table[param1 ? 0 : 1][param2 ? 0 : 1];
}