Considering the evaluation time, are following two equivalent?
if(condition1)
{
//code1
}
else
{
//code2
}
condition1 ? code1 : code2
Or they are just syntactically different?
The difference is that the latter station can be used to return a value based on a condition.
For example, if you have a following statement:
if (SomeCondition())
{
text = "Yes";
}
else
{
text = "No";
}
Using a ternary operator, you will write:
text = SomeCondition() ? "Yes" : "No";
Note how the first example executes a statement based on a condition, while the second one returns a value based on a condition.
Well ... In the former case, you can have any amount or type (expression vs statement) of code in place of code1
and code2
. In the latter case, they must be valid expressions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With