ビジュアルスタジオにC#メソッドを作成しました。このメソッドは、それぞれのケースで値が返されるswitch文だけを含んでいました。個人的な習慣によって、私は次のコードに似た何かを置く:C#Switch Statement:デフォルトを使用しない方が効率的ですか?
private string SwitchMethod(int num)
{
switch (num)
{
case 0:
return "result 1";
case 1:
return "result 2";
case 2:
return "result 3";
}
return "no result";
}
私の質問はこれです:より良い性能を持つことになりますどのコード?上または下のコード、または同じですか?なぜ?
私はコンパイラの最適化のために...彼らはちょうど同じかもしれないと思います...しかし、私は本当に知りません。
private string SwitchMethod(int num)
{
switch (num)
{
case 0:
return "result 1";
case 1:
return "result 2";
case 2:
return "result 3";
default:
return "no result";
}
}
REVISION: 私がより具体的であることを思わ:コンパイルすると...少ない効率的なコードは、1つまたはその他によって生成されるのですか?
私はパフォーマンスの違いが重要でないかもしれないことを認識しています...私は本当に好奇心です。
これはかなり主観的です。メソッドや関数から複数の出口点を持つことは避けますが、YMMVは使用しません。あなたが本当に興味があるなら、ILを見てください。 –
それはコンパイルされましたか?私はコンパイラの前にいませんが、ほとんどの場合、デフォルトが必要です。 –
あなたは本当にそれが – Matt