Development C# Tutorial

using System;
using System.Threading;
class MainClass
{
  static void PrintTime(object state)
  {
    Console.WriteLine("Time is: {0}, Param is: {1}", DateTime.Now.ToLongTimeString(), state.ToString());
  }
  [STAThread]
  static void Main(string[] args)
  {
    TimerCallback timeCB = new TimerCallback(PrintTime);
    Timer t = new Timer(
      timeCB,   // The TimerCallback delegate type.
      "Hi",     // Any info to pass into the called method.
      0,        // Amount of time to wait before starting.
      1000);    // Interval of time between calls. 
    Console.WriteLine("Hit key to terminate...");
    Console.ReadLine();
  }
}
Hit key to terminate...
Time is: 2:19:07 PM, Param is: Hi
Time is: 2:19:08 PM, Param is: Hi
Time is: 2:19:09 PM, Param is: Hi
Time is: 2:19:10 PM, Param is: Hi
^CTerminate batch job (Y/N)? n