我正在进行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;
}
由于您没有看到如何获得用户输入,所以我没有实现这个。但你的问题的主要逻辑是:
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
}
}