我可以对两个返回void的函数使用三元运算符吗?

本文关键字:三元 运算符 两个 返回 我可以 void 函数 | 更新日期: 2023-09-27 18:07:10

在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();
    }
}

我可以对两个返回void的函数使用三元运算符吗?

No。不可能的。以下是编译错误:

  • 只有赋值、call、increment、递减、await和new对象表达式可以作为语句使用
  • 无法确定条件表达式的类型,因为'void'和'void'之间没有隐式转换