ReSharper 2016.1 Help

Code Inspection: 'if' statement can be re-written as '?:' expression

The conditional ?: (ternary) operator in C# is the most elegant way to execute one of two simple expressions depending on the value of a simple boolean expression.

Therefore, if ReSharper encounters an if...else statement in this context, it suggests to convert it to a more succinct ?: operator.

Here is an example of a quick-fix suggested by this inspection:

Suboptimal codeAfter the quick-fix
void Foo(string msg1, string msg2, bool flag) { if (flag) Console.WriteLine(msg1); else Console.WriteLine(msg2); }
void Foo(string msg1, string msg2, bool flag) { Console.WriteLine(flag ? msg1 : msg2); }

See Also

Last modified: 19 August 2016