我最近发现了 if 语句的简写,在网上搜索后我找不到明确的答案。
如果条件为真/假,是否可以执行 2 条语句?
int x = (expression) ? 1 : 2;
例如
int x = (expression) ? 1 AND 2 : 3;
鉴于我没有遇到他们使用它的示例,我想这是不可能的,但我不想错过。
我最近发现了 if 语句的简写,在网上搜索后我找不到明确的答案。
如果条件为真/假,是否可以执行 2 条语句?
int x = (expression) ? 1 : 2;
例如
int x = (expression) ? 1 AND 2 : 3;
鉴于我没有遇到他们使用它的示例,我想这是不可能的,但我不想错过。
你说的是条件赋值。您应该查看您编写的内容所定义的内容:
int x = (expression) ? 1 AND 2 : 3;
那是评估“表达式”,如果为真,则执行“1 AND 2”,然后将值分配给 x。如果“表达式”评估为假,则评估“3”并将其分配给 x。因此,您绝对可以这样做:
int x = (expression) ? GetInt1() + GetInt2() : 345;
重要的是,您发现的不仅仅是 if 的简写。它是条件赋值。
你不能让一个语句返回两个值,这就是三元组所做的一切。如果它是一种返回值的方法 persay 则不是简写