rspec/rules/S1301/csharp/rule.adoc
2021-02-17 12:23:45 +01:00

42 lines
706 B
Plaintext

``++switch++`` statements and expressions are useful when there are many different cases depending on the value of the same expression.
When a ``++switch++`` statement or expression is simple enough, the code will be more readable with a single ``++if++``, ``++if-else++`` or ternary conditional operator.
== Noncompliant Code Example
----
switch (variable)
{
case 0:
doSomething();
break;
default:
doSomethingElse();
break;
}
var foo = variable switch
{
0 => doSomething(),
_ => doSomethingElse(),
}
----
== Compliant Solution
----
if (variable == 0)
{
doSomething();
}
else
{
doSomethingElse();
}
var foo = variable == 0
? doSomething()
: doSomethingElse();
----