我剛剛開始工作,在工作日結束時,我通過慢慢閱讀我們的代碼庫來等待流量。我遇到了這一點,即使在白板上花了相當長的時間,我依然想不到一種方法來提取goto
。有沒有辦法消除這種跳躍?我該如何擺脫這個goto?
public void MyUpdate(MyType foo)
{
/*Prep code for the loops*/
foreach (Thing bar in something)
{
foreach (Collection item in bar.Stuff)
{
Data dataRX = item.First;
if (dataRX != null && dataRX.ID.Equals(globalNonsense.ID))
{
// Update Data with the latest changes
dataRX.fooBuddy = foo;
goto exitLoops;
}
}
}
exitLoops: ;
}
爲什麼不'return'如果'exitLoops'是在方法的結束? –
@YacoubMassad好主意,但在某些編碼標準中,從一個函數中的多個位置返回''''會被認爲是不好的形式,如goto。 –
我更喜歡'return'解決方案。上面提到的代碼標準也不像我的答案那樣喜歡「break」。但我認爲這些標準往往是非常理論化的,在這種情況下不應該被認爲是嚴肅的。 –