私はここで( 22歳で)シニアの瞬間を過ごしているかもしれませんが、C#が。の後に含めたステートメントをスキップしている理由がわかりませんswitch
。コードは次のようになります。
switch (shape)
{
case ToolShape.BasicTool:
EditTool = (LastTool.ToolType == ToolShape.BasicTool)
? new BasicTool((BasicTool)LastTool)
: new BasicTool(ToolNumber, BasicToolType.TypeA,
"Tool " + ToolNumber, "", 1.0, 60.0, 0.0, 0.0, 0.0, 10.0);
break;
case ToolShape.AdvancedTool:
EditTool = (LastTool.ToolType == ToolShape.AdvancedTool)
? new AdvancedTool((AdvancedTool)LastTool)
: new AdvancedTool(AdvancedTool, "Tool " + ToolNumber, "", 1.0, 10.0, 2.0,
AdvancedTool.Light, AdvancedTool.Round);
break;
case ToolShape.SpecialTool:
EditTool = (LastTool.ToolType == ToolShape.SpecialTool)
? new SpecialTool((SpecialTool)LastTool)
: new SpecialTool(SpecialTool, "Tool " + ToolNumber, "",
1.0, 1.0, 90.0);
break;
}
// We never seem to reach anything below here ----------------
LoadToolToForm(EditTool);
LoadToolToForm(EditTool)
それはその声明に当たることは決してありません。または、MessageBox.Show("...")
デバッグの目的で、そこにとどまりました。switch
期待通りに作品を削除します。ただし、1つのケースで非常に小さなスイッチを配置すると、スイッチが再び早期に終了します。
これは既知の動作ですか?breaking
from switchステートメントが関数を終了させる(returnキーワードを呼び出さない)状況はありますか?