Why can't I use break in a C# ternary expression?

后端 未结 2 1943
终归单人心
终归单人心 2021-01-29 07:24

I am trying to convert the if else clause to a ternary within a while loop, however it\'s not allowing me to have a break after the question mark, pointing an error at the break

相关标签:
2条回答
  • 2021-01-29 07:25

    Because the ternary is not a shorter way to write an if-else structure, it's a short way to write an expression that picks one of two values based on some condition. break is a flow-control statement, not a value.

    If it helps, think of:

    someVar = cond ? a : b;
    

    as of:

    someVar = getValue(cond);
    
    0 讨论(0)
  • 2021-01-29 07:42

    It isn't possible using the ternary operator, but you can simplify your code structure as follows:

    string input;
    do {
        Console.WriteLine("Enter 3 words seperated by spaces: ");
        input = Console.ReadLine();
        if (input != "") {
            ConvertToPascal(input);
        }
    } while(input != "");
    
    0 讨论(0)
提交回复
热议问题