【发布时间】:2017-01-11 23:51:23
【问题描述】:
int noOfAttempts = 3;
void StartServer();
bool IsServerRunning();
我需要根据IsServerRunnig() 的结果重新尝试StartServer() 3 次。像这样的:
StartServer();
if (!IsServerRunning())
{
StartServer();
if (!IsServerRunning())
{
StartServer();
if (!IsServerRunning())
{
StartServer();
}
}
}
我不想像上面那样使用 for 循环或丑陋的代码。有没有更好的方法来做到这一点?如果将来noOfAttempts 发生变化,我不必更改代码?
编辑: 我期待从“代表”概念中得到一些东西(如果可能的话)。
【问题讨论】:
-
为什么不想使用 for 循环?这似乎是一个很好的结构。
-
@Oded:如果 noOfAttempts 发生变化,那么我将不得不在代码中添加另一个 if 条件。
-
我不明白为什么会这样,如果你正确使用 for 循环就不会。
-
您应该为此使用循环。追求更复杂和与众不同的东西是 0 意义。
-
如果我想尝试新的东西有什么问题?它可能在其他复杂的情况下对我有所帮助。众所周知的事实是循环被设计用于这种事情..但只是尝试开箱即用..