C#小白求问:这个条件运算符错在哪?
        string strPWD = Console.ReadLine();
        (strPWD == "888")?
            Console.WriteLine("Right"):
            Console.WriteLine("Wrong");

错误  1   只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句 E:\1-C#\2-Std\1207-Console\ConsoleApplication2\ConsoleApplication2\Program.cs   14  13  ConsoleApplication2

3个回答

 string strPWD = Console.ReadLine();
((strPWD == "888")? 
new Action(() => { Console.WriteLine("Right") }):
new Action(() => { Console.WriteLine("Wrong"); }))();

c# 三元运算符 表达式1?表达式2:表达式3
条件表达式的执行顺序:先求解表达式1,若为真则求解表达式2,此时表达式2的值就作为整个表达式的值。若表达式1的值为假,则求解表达式3,表达式3的值就是整个条件表达式的值。简单的说三元运算符最后得到的是一个值 Console.WriteLine() 无返回值

改下代码:
string strPWD = Console.ReadLine();
Console.WriteLine(strPWD == "888"?"Right":"Wrong");

同意楼上!

你还没有明白三目运算符的用法!建议你先明白什么是三目运算符。(也就是三元运算符)。
表达式1?表达式2:表达式3
效果相当于:

if(表达式1)
{
    表达式2
}
else
{
    表达式3
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问