rspec/rules/S1301/csharp/rule.adoc

49 lines
866 B
Plaintext
Raw Normal View History

2021-01-27 13:42:22 +01:00
``++switch++`` statements and expressions are useful when there are many different cases depending on the value of the same expression.
2021-02-02 15:02:10 +01:00
2021-01-27 13:42:22 +01:00
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[]
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]