Таймер на C#
Всем доброго времени суток. На связи Алексей Гулынин. В данной статье небольшой статье я бы хотел рассказать, как реализовать таймер в консольном приложении на C#. Для этого будет использовать класс Timer, который входит в пространство имён System.Threading.
Сразу приведу код:
using System; using System.Threading; namespace TestConsoleProject { class Program { static void Main(string[] args) { // Время указывается в миллисекундах Timer timer = new Timer(showTime, null, 0, 2000); // Таймер будет работать до тех пор, пока мы не нажмём Enter Console.ReadLine(); } static void showTime(Object obj) { Console.WriteLine("Текущие дата и время: {0}", DateTime.Now.ToString()); } } }
Разберем то, какие параметры принимает конструктор Timer:
- showTime — первым параметром мы передаём делегат, который предоставляет выполняемый метод.
- Вторым параметром передаётся объект, в котором содержится информация для метода ответного вызова. Мы же ничего не передаём, ставим null.
- Третьим параметром передаётся количество времени, которое пройдёт, прежде чем заработает метод showTime().
- 4ый параметр — это количество времени между запусками нашего метода, т.е. showTime будет отрабатывать раз в 2 секунды.
Результат работы программы:
Давайте попробуем написать свой таймер с использованием цикла while:
// Пока не нажата клавиша Enter и можно вводить данные в в потоке, //в котором выполняется программа while (!(Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Enter)) { Console.WriteLine("Текущие дата и время: {0}", DateTime.Now.ToString()); Thread.Sleep(2000); }
Результат работы будет точно таким же, как и в прошлом примере.
В данной небольшой статье вы научились реализовывать таймер в консольном приложении C#.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.