问题描述
- C#小白求问:这个条件运算符错在哪?
-
string strPWD = Console.ReadLine(); (strPWD == ""888"")? Console.WriteLine(""Right""): Console.WriteLine(""Wrong"");错误 1 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句 E:1-C#2-Std1207-ConsoleConsoleApplication2ConsoleApplication2Program.cs 14 13 ConsoleApplication2
解决方案
string strPWD = Console.ReadLine();((strPWD == ""888"")? new Action(() => { Console.WriteLine(""Right"") }):new Action(() => { Console.WriteLine(""Wrong""); }))();
解决方案二:
同意楼上!
你还没有明白三目运算符的用法!建议你先明白什么是三目运算符。(也就是三元运算符)。
表达式1?表达式2:表达式3
效果相当于:
if(表达式1){ 表达式2}else{ 表达式3}
解决方案三:
c# 三元运算符 表达式1?表达式2:表达式3
条件表达式的执行顺序:先求解表达式1,若为真则求解表达式2,此时表达式2的值就作为整个表达式的值。若表达式1的值为假,则求解表达式3,表达式3的值就是整个条件表达式的值。简单的说三元运算符最后得到的是一个值 Console.WriteLine() 无返回值
改下代码:
string strPWD = Console.ReadLine();
Console.WriteLine(strPWD == ""888""?""Right"":""Wrong"");
时间: 2024-10-30 10:25:02