hel*_*rld -3 c# ternary-operator break
我试图将if else子句转换为while循环中的三元组,但是它不允许我在问号后面有一个中断,将中断处的错误指向为无效表达式.
我怎么会把这个简单的东西变成这样的三元组.
while (true)
{
Console.WriteLine("Enter 3 words seperated by spaces: ");
var input = Console.ReadLine();
//input == "" ? break : ConvertToPascal(input);
if (input == "")
break;
else
ConvertToPascal(input);
}
}
Run Code Online (Sandbox Code Playgroud)
因为三元不是编写if-else
结构的较短方式,所以编写一个基于某些条件选择两个值之一的表达式是一种简短的方法.break
是一个流控制语句,而不是一个值.
如果有帮助,请考虑:
someVar = cond ? a : b;
Run Code Online (Sandbox Code Playgroud)
作为:
someVar = getValue(cond);
Run Code Online (Sandbox Code Playgroud)
使用三元运算符是不可能的,但您可以按如下方式简化代码结构:
string input;
do {
Console.WriteLine("Enter 3 words seperated by spaces: ");
input = Console.ReadLine();
if (input != "") {
ConvertToPascal(input);
}
} while(input != "");
Run Code Online (Sandbox Code Playgroud)