c# - 有没有一种方法可以简单地类似于真相表?

原文 标签 c#

在代码中有没有类似于真值表的简单方法?它有2个输入和4个结果,如下所示:
enter image description here
我现在的代码是:

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];
  }   

相关文章:

c# - 如何构建DynamicResources及其在contextmenus中的使用

c# - 从Azure调用Google API:“访问被拒绝”

c# - 等待/异步与“经典”异步(回调)

c# - mysql插入最大+1错误

c# - Graphics.DrawString切中单词

c# - 在EF Core中执行SQL跟踪期间丢失参数值

c# - PagedList ViewModel实现

c# - 从其他 Activity 的构造函数开始 Activity ?

c# - 如果包含100000行数据,如何在C#中编写一个超快速的ASCII文件?

c# - 为什么未显示气球提示指向正确的控件?