I'm considering use Task.Delay()
for a non-stop timer, because it's more simple and readable.
As I'm new to .NET, I see no significant difference between the two codes. Can you show me the difference (if there is any) between them?
// 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
}
vs
// Every thing inside a function
async void TaskTimer()
{
while (true)
{
await Task.Delay(5000);
// Do stuff
}
}
There are two major differences:
Task.Delay
approach will delay the specified amount of time between cycles, while the DispatcherTimer
approach will start a new cycle on the specified cycle time.Task.Delay
is more portable, since it does not depend on a type tied to a specific UI.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With