我正在制作一个C#应用程序。我有一个主要过程来验证数据库中的数据。如果我有用户输入,计时器会检查每100个滴答。在我获得用户输入后,我的主进程继续(它在开始时等待用户输入)。在验证并执行多项操作后,方法就完成了。问题是,我希望它再次开始等待下一位输入。
我想在每个可能的结束时再次调用该方法。我觉得这会创造一个资源丰富的程序(不是最糟糕的事情,但更好的没有坏习惯,而不是一些正确的?)。
示例:
bool cont = false;
public void process()
{
while (cont == false) {;}
//Various sorting criteria that all end up with cont = false; process(), the userinput has been processed.
}
timer1 tick event
{
if (userinput)
cont = true;
}
答案 0 :(得分:0)
由于您没有看到如何获得用户输入,我没有实现这一点。但你问题的主要逻辑是:
class MainClass
{
public static void Main()
{
MyRecursiveFunction();
AfterUserInput();
}
public static void MyRecursiveFunction()
{
if (userinput)
{ return; }
// Waits 100 ticks to check again
Thread.Sleep(new TimeSpan(100));
MyRecursiveFunction();
}
public static void AfterUserInput()
{
// All that you need to do after the user input
}
}