是否可以在方法参数中使用变量名和布尔值?

时间:2018-12-13 17:51:08

标签: c# methods

我有几种方法具有彼此相似的结构。唯一的区别是开始测试的变量以及所需的布尔条件。

public void OP_BCS(sbyte b)
{
    cv.PC += 2;

    if (cv._C == true)
    {
        cv.PC += (ushort)b;
    }
}

是否可以将上面的代码更改为类似于我下面的代码(语法可能不正确,但是应该可以解释我的意思)

public void OP_Branch(variable name, boolean condition, sbyte b)
{
    cv.PC += 2;

    if (variable == condition)
    {
        cv.PC += (ushort)b;
    }
}

只需为该方法添加一些额外的参数,我就可以做出所需的所有不同组合。

1 个答案:

答案 0 :(得分:0)

为什么不仅仅将bool作为参数?

public void OP_Branch(bool condition, sbyte b)
{
    cv.PC += 2;

    if (condition)
    {
        cv.PC += (ushort)b;
    }
}

然后,当您调用它时,可以在方法调用中进行比较:

OP_Branch(variable == condition, b);