我有下面的代碼:Gotophobia在開關的情況下
switch (curState.ToString())
{
case "Processed":
... *(couple code lines)*
break;
case "NotPresent":
if (someValue == null)
{
goto case "Undefined";
}
goto case "Processed";
case "Undefined":
break;
}
有人告訴我,這是更好地界定方法「NotPresent」的情況下,並調用它,而不是goto case "Processed"
。這是Gotophobia還是合理的? 我喜歡我的變體。
有很多資源,在那裏已經解釋的時候,當不使用'goto'語句。這裏有一個很好的例子:http://stackoverflow.com/a/11906082/3922214 –
如果你不想在一個單獨的方法中封裝細節,你可以隨時設置布爾標誌並在開關後處理處理聲明。我真的認爲'goto'應該從來沒有被包含在C#中,它應該已經被棄用,然後淘汰VB.NET。我在'goto'中遇到的主要問題是它會引起跳躍式的滑動。沒有流量。 –
你是否打算默認情況下什麼都不做?我知道這類事情的意見是主觀的,但我發現你在這裏發佈的代碼很難閱讀。 –