switchステートメントを使用して、一連の条件に基づいてオブジェクトに対して何らかの処理を行います。すべての場合に呼び出されるデフォルトのケースがあります。Switch StatementパフォーマンスC#
私たちは、これにアプローチする最善の方法について意見を異にしています。
私たちの一部は、例えばAを好む:とにかく、すべての場合に呼び出されます
switch (task)
{
case A:
ProcessA();
break;
case B:
ProcessB();
break;
case C:
ProcessC();
break;
}
Final();
Final()
ので:
switch (task)
{
case A:
ProcessA();
goto default;
case B:
ProcessB();
goto default;
case C:
ProcessC();
goto default;
default:
Final();
}
他の人は、それは、例えば、Bのようなものを使用することをお勧めします示唆しているのに対し。
これは個人的な好みのケースですか、または客観的なパフォーマンスの違いがありますか。
私たちが目を向けなければならないガイドラインや問題点はありますか?
これはAPIのためにC#で書かれており、非常に頻繁に呼び出されます。私たちはそれを正しくしようと熱望しています!
乾杯!
私は、C#の 'switch'の中で' goto'を使ったことはありませんでした。 – xanatos
私は最初のコードを考慮に入れるべきではないと思います。それはスイッチのデフォルトが使用されているものではありません。 –
ええ、それは不気味です。私は間違いなく第2の方法を好む。 C#には 'goto'というキーワードがありますが、C#のような手続き型言語に関しては穀物に逆らっているので、私は離れています。パフォーマンスとスタイルの選択については、問題が発生した場合にのみパフォーマンスに対処してください。 –