我刚刚开始工作,在工作日结束时,我通过慢慢阅读我们的代码库来等待流量。我遇到了这一点,即使在白板上花了相当长的时间,我依然想不到一种方法来提取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”。但我认为这些标准往往是非常理论化的,在这种情况下不应该被认为是严肃的。 –