ReSharper 2018.3 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 code

After 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); }

Last modified: 25 April 2019

See Also