Using a timer to delay a char[] from displaying all characters at once
<p>I'm having a little bit of trouble figuring out the best way to display 1 character at a time on the console using a timer. The idea is to have an RPG style message stream across the screen instead of being pasted all at once.</p>

<pre><code>    private static System.Timers.Timer aTimer;

    public void DisplayTime()
    {

        aTimer = new System.Timers.Timer(5000);
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

        aTimer.AutoReset = false;
        aTimer.Enabled = true;

        Console.ReadLine();
    }

    public void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        string text;
        text = "This is a test";
        char[] message = new char[text.Length];
        message = text.ToCharArray();

        for (int i = 0; i &lt; message.Length; i++)
        {
            Console.Write(message[i]);
        }
    }
</code></pre>

<p>That is what I currently have which just delays displaying the message for 5 seconds. I'm trying to avoid using Thread.Sleep if possible because from what I've read that is a big no no. I know I need to create a delay in the for loop to get the effect i need but is this really the best way to go about it?</p>
