【问题标题】:c# while loop to finish current loop before endingc#while循环在结束前完成当前循环
【发布时间】:2011-05-05 04:30:12
【问题描述】:

我的代码中有一个 do while 循环,每次在循环中我都会让它执行大约 30 行代码。当它遇到 while 语句时,例如。它会一直持续到按下 ESC 为止,我不确定,但它会完成当前循环还是直到按下按钮为止?因为如果循环中的所有代码都没有完成,那么它创建的文件将被破坏......

那么它是否完成了当前循环,如果没有,我该如何完成,以便 while 循环允许它在退出之前完成?

【问题讨论】:

  • 请贴出代码,这完全取决于ESC 是如何退出程序的。
  • 这取决于你如何打破循环,你能粘贴代码的相关部分吗?

标签: c# loops while-loop


【解决方案1】:

代码将在您进行条件检查的地方退出,即 while 循环条件 - while(somethingTrue),因此它只会在 while 循环代码块的开始处中断,而不是在两者之间。

【讨论】:

  • 如果 ESC 触发退出应用程序的处理程序,它可能会中断中间循环。
  • 是的,但由于问题是关于 while 循环,我假设 ESC 检测是在 while 循环条件下完成的。
【解决方案2】:

如果在 While(...) 块中调用了对转义键的检查,那么是的,循环将在执行此检查并决定是否再次循环之前完成其当前迭​​代。如果您正在检查循环内的转义键并调用break,那么不,迭代不能保证完成。

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 2014-12-31
    • 2021-11-21
    相关资源
    最近更新 更多