gpt4 book ai didi

c# - Task.Delay 与 DispatcherTimer?

转载 作者:可可西里 更新时间:2023-11-01 08:47:22 25 4
gpt4 key购买 nike

我正在考虑将 Task.Delay() 用于不间断计时器,因为它更简单且可读性更强。

由于我是 .NET 的新手,我看不出这两种代码之间有什么显着差异。你能告诉我它们之间的区别(如果有的话)吗?

// Create variable at some place
DispatcherTimer timer = new DispatcherTimer();

timer.Interval = TimeSpan.FromSeconds(5);
timer.Tick += timer_Elapsed;
timer.Start();

// Function other place
void timer_Elapsed(object sender, EventArgs e)
{
//Do stuff
}

对比

// Every thing inside a function
async void TaskTimer()
{
while (true)
{
await Task.Delay(5000);
// Do stuff
}
}

最佳答案

有两个主要区别:

  1. Task.Delay 方法将在 个周期之间延迟指定的时间量,而 DispatcherTimer 方法将在指定的周期时间。
  2. Task.Delay 更具可移植性,因为它不依赖于绑定(bind)到特定 UI 的类型。

关于c# - Task.Delay 与 DispatcherTimer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21071165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com