我希望复制这个条件:
string responseText = getData();
if(responseText == null){ return; }
使用三元运算符,我尝试的是:
responseText == null ? return : null;
但我得到return
用红色加下划线:
return不是表达式的有效术语。
基本上我希望在responseText
为空时返回此函数的代码并返回,而如果与null
不同,我需要继续我的代码。我做错了什么?
答案 0 :(得分:2)
三元运算符的目的是能够创建使用条件的表达式。
它不是用于控制程序的流程,也不应该尝试以这种方式使用它。
坚持你的if
声明。
答案 1 :(得分:2)
三元运算符用于赋值:
string a = isEmpty ? item : null; //this is OK
如果您不指定任何内容,则无法使用三元操作。
response == null ? return : null; //what is this??
你所做的,可能已经是正确的了:
if (responseText == null)
return;
//do something else when text is not null
答案 2 :(得分:0)
三元运算符是表达式 - 它根据条件返回一个值或另一个值。您正尝试将其用于程序流,这是不可能的。
我认为您的if
声明没有错 - 它是否清晰,简洁,最重要的是,可行。
答案 3 :(得分:0)
您无法返回return
。返回的值必须是与接收三元表达式结果的变量类型相同的变量。
答案 4 :(得分:0)
三元运算符计算表达式。它无法控制程序的流程。您最好的选择是使用旧式if
声明,例如您在问题中提供的声明。
答案 5 :(得分:0)
三元运算符的操作数应该是一个产生值的表达式。但在这种情况下,回报并不会产生任何价值。