考虑到评估时间跟随两个等效?

if(condition1)
{
    //code1
}
else
{
    //code2
}

condition1 ? code1 : code2

或者他们只是语法上有什么不同?

有帮助吗?

解决方案

不同的是,后者站可以用来为返回一个值基于条件。

例如,如果有一个以下语句:

if (SomeCondition())
{
    text = "Yes";
}
else
{
    text = "No";
}

使用三元运算符,就会写:

text = SomeCondition() ? "Yes" : "No";

请注意如何第一个例子的执行一个语句基于条件,而第二个返回一个值基于条件。

其他提示

唉...在前一种情况下,你可以在地方code1code2的代码的任何数量或类型(表达VS语句)。在后一种情况下,它们必须是有效的表达式。

是&是。

只有利润是保存的代码行。

是,这是两个不同的语法形式和将相同方式工作,最LIKEY相同的代码将被编译器发射。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top