rspec/rules/S1301/csharp/rule.adoc

57 lines
964 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();
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]