I recently read a javascript code online and want to convert it to C#. When encountered this line of code, I had no idea what it does: X = (!X ? 8 : X). Please explain.
Asked
Active
Viewed 1,481 times
0
-
have a look at the [ternary operator](http://msdn.microsoft.com/en-us/library/ie/be21c7hw(v=vs.94).aspx) – Sam Marsh Aug 15 '13 at 11:48
-
4i'd prefer `if(!x) x=8;` The ternary doesn't save anything in this particular case. – techfoobar Aug 15 '13 at 11:49
2 Answers
7
It checks whether or not X is false (contains either 0, empty string, null, or undefined). If it is, the line assigns 8 to X, otherwise X retains its original value.
MD Sayem Ahmed
- 28,628
- 27
- 111
- 178
2
It sets the X var to 8 if !X is true (so if X is false). Otherwise, X keep the same value.
So, if X is an empty string, the false boolean or the 0 number (I might forget some values but well you understand), it'll be set to 8, else it'll keep its original values. It's the same as:
if(!X) { X = 8 }
Maxime Lorant
- 34,607
- 19
- 87
- 97