我正在尝试将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);
}
}
答案 0 :(得分:6)
因为三元不是编写if-else
结构的一种较短方式,所以编写一个基于某些条件选择两个值之一的表达式是一种简短的方法。 break
是流控制语句,而不是值。
如果有帮助,请想一想:
someVar = cond ? a : b;
截至:
someVar = getValue(cond);
答案 1 :(得分:5)
使用三元运算符是不可能的,但您可以按如下方式简化代码结构:
string input;
do {
Console.WriteLine("Enter 3 words seperated by spaces: ");
input = Console.ReadLine();
if (input != "") {
ConvertToPascal(input);
}
} while(input != "");