C#循环oneshot函数
C# loop oneshot function
我这里有一个有趣的情况。语言是C#,使用Visual Studio.
我有一个函数循环,可以让 运行 通过。
当某个事件触发时,我希望使用 IF 语句调用一个函数。
有什么办法可以让这个函数在一定的时间延迟下不再被调用?
比如函数A被调用了....函数A在接下来的20秒内无论如何都不能再调用了。
20秒后,如果IF语句存在,可以再次调用函数A
我有一个功能可以给我的 phone 发短信,目前我的循环非常快,所以它在几秒钟内给我的 phone 发了 20 次短信。我想限制这个。
我也不能让事件触发一个 while 循环以使其通过另一个循环。
我需要循环来保持 运行 它的循环,但跳过向我 phone 发送短信的函数,直到某个时间过去。
使用定时器:
Timer myTimer = new Timer();
myTimer.Interval = 200; //double timer interval in ms
myTimer.Elapsed += myTimer_Elapsed;
myTimer.Start();
然后把你的函数放在里面 myTimer_Elapsed:
void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
your_function();
}
使用 myTimer.Stop();
停止它
我这里有一个有趣的情况。语言是C#,使用Visual Studio.
我有一个函数循环,可以让 运行 通过。
当某个事件触发时,我希望使用 IF 语句调用一个函数。
有什么办法可以让这个函数在一定的时间延迟下不再被调用?
比如函数A被调用了....函数A在接下来的20秒内无论如何都不能再调用了。
20秒后,如果IF语句存在,可以再次调用函数A
我有一个功能可以给我的 phone 发短信,目前我的循环非常快,所以它在几秒钟内给我的 phone 发了 20 次短信。我想限制这个。 我也不能让事件触发一个 while 循环以使其通过另一个循环。
我需要循环来保持 运行 它的循环,但跳过向我 phone 发送短信的函数,直到某个时间过去。
使用定时器:
Timer myTimer = new Timer();
myTimer.Interval = 200; //double timer interval in ms
myTimer.Elapsed += myTimer_Elapsed;
myTimer.Start();
然后把你的函数放在里面 myTimer_Elapsed:
void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
your_function();
}
使用 myTimer.Stop();
停止它