压缩if语句错误

时间:2016-02-15 12:14:35

标签: c# if-statement beep

您好我正在尝试学习如何编写一个没有else{} else if{}条件的精简if语句,其中代码打印为YES或NO,并且如果符合条件则播放音调,我试图连接此语句。

Message = (UserValue == "1 2 3 4") ? "Correct" + Console.Beep(250, 250) : "Incorrect"+ Console.Beep(130, 250);

谢谢,

保罗。

2 个答案:

答案 0 :(得分:3)

Console.Beep会返回void,因此您无法将其连接到string,这就是您要在此处执行的操作:

"Correct" + Console.Beep(250, 250)

在这里:

"Incorrect"+ Console.Beep(130, 250)

如果您想拨打Console.Beep

,建议您使用常规if语句

答案 1 :(得分:0)

这只能如下所示。 c#中无法使用三元运算符中的多个语句,您可以+两个不同的(void和string)

public class Program
{
    public static void Main()
    {
        var UserValue = "1 2 3 4";
        var Message = "";
        Message = (UserValue == "1 2 3 4") ? Program.x() : Program.y();
        Console.WriteLine(Message);     
    }

    static Func<string> x = () => {
        Console.Beep(250, 250);
        return "Correct";
    };  


    static Func<string> y = () => {
        Console.Beep(130, 250);
        return "Incorrect";
    };      

}