if / else语句VS三元运算符
题
考虑到评估时间跟随两个等效?
if(condition1)
{
//code1
}
else
{
//code2
}
condition1 ? code1 : code2
或者他们只是语法上有什么不同?
解决方案
不同的是,后者站可以用来为返回一个值强>基于条件。
例如,如果有一个以下语句:
if (SomeCondition())
{
text = "Yes";
}
else
{
text = "No";
}
使用三元运算符,就会写:
text = SomeCondition() ? "Yes" : "No";
请注意如何第一个例子的执行一个语句基于条件,而第二个返回一个值基于条件。
其他提示
唉...在前一种情况下,你可以在地方code1
和code2
的代码的任何数量或类型(表达VS语句)。在后一种情况下,它们必须是有效的表达式。
是&是。
只有利润是保存的代码行。
是,这是两个不同的语法形式和将相同方式工作,最LIKEY相同的代码将被编译器发射。
不隶属于 StackOverflow