我可以使用三元运算符,每个函数返回void吗?

时间:2014-06-06 13:21:17

标签: c# if-statement methods inline void

在C#中可以使用没有值的if内联条件,换句话说返回void

public void FuncReturningVoid ()
{
    return;
}

public void AnotherFuncReturningVoid()
{
    return;
}

public void Test ()
{
    int a = 1;
    int b = 2;

    // I whish I could to do this:
    a == b ? FuncReturningVoid() : AnotherFuncReturningVoid();

    //would be the same...
    if (a == b)
    {
        FuncReturningVoid();
    }
    else
    {
        AnotherFuncReturningVoid();
    }
}

1 个答案:

答案 0 :(得分:6)

没有。不可能。这是编译错误:

  • 只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句
  • 无法确定条件表达式的类型,因为'void'和'void'
  • 之间没有隐式转换