C#if then else速记将无法编译

Rob*_*man 0 c# c#-6.0

以下编译好了:

if (_logon.LogonToConnector())
{
    MessageBox.Show("Logon Success");
}
else
{
    MessageBox.Show("Logon Failed");
}
Run Code Online (Sandbox Code Playgroud)

但是对于更简洁的等价物:

_logon.LogonToConnector() ? MessageBox.Show("Logon Success") : MessageBox.Show("Logon Failure");
Run Code Online (Sandbox Code Playgroud)

编译器给出错误:

只有赋值,调用,递增,递减和新对象表达式才能用作语句UniformTestClient

我哪里做错了?

Dmi*_*nko 6

把它

MessageBox.Show(_logon.LogonToConnector() 
  ? "Logon Success"
  : "Logon Failed");
Run Code Online (Sandbox Code Playgroud)

因为三元运算符必须返回一个值.