浓缩 if 语句错误

condensed if statement errors

你好我正在尝试学习如何编写一个没有 else{} else if{} 条件的压缩 if 语句,其中代码打印 YES 或 NO 并在满足条件时播放音调,我正在尝试连接此语句。

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

谢谢,

保罗.

Console.Beep returns void,所以你不能将它连接到 string,这就是你在这里试图做的:

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

这里:

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

如果您想调用 Console.Beep

,我建议您改用常规 if 语句

这只有在以下情况下才有可能。三元运算符中的多个语句在 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";
    };      

}