Метод таймер C#

У меня есть переменная speed = 5.0F Мне нужно написать метод (который я потом буду вызывать), который на определенное время меняет значение переменной, но после окончания времени, возвращает её значение обратно. Есть наброски

public void Wait(int min)
{
    DateTime start = DateTime.Now;
    while ((DateTime.Now - start).TotalMinutes < min)
    {
                
    }
}

Ответы (1 шт):

Автор решения: aepot

Если нужен метод типа "запустил и забыл", то можно так

public async void Wait(float delaySpeed, int milliseconds)
{
    float tmp = speed;
    speed = delaySpeed;
    await Task.Delay(milliseconds);
    speed = tmp;
}
Wait(1.0f, 5000);

Если конечно это Unity, то там есть свои методы решения данной задачи.

→ Ссылка