我最近发现了简写if语句,在网上搜索后我找不到明确的答案。
如果条件为真/假,是否可以执行2个语句?
int x = (expression) ? 1 : 2;
例如
int x = (expression) ? 1 AND 2 : 3;
看到我没有通过他们使用它的例子,我想这不可能,但我不想错过。
答案 0 :(得分:4)
你在谈论条件分配。你应该看看你写的内容是什么:
int x = (expression) ? 1 AND 2 : 3;
即评估'表达式',如果为true,则执行'1 AND 2',然后将值赋给x。如果'expression'被评估为false,则评估'3'并将其分配给x。因此你绝对可以这样做:
int x = (expression) ? GetInt1() + GetInt2() : 345;
重要的是,你发现的不仅仅是简写。这是有条件的作业。
答案 1 :(得分:0)
你不能让一个语句返回两个值,这就是三元组所做的一切。如果它是一个返回值
的方法persay,它不是一个缺点