Hell, no! Your loop is polling and is considered a very bad thing, especially in UI. What you need is this:
System.Console.Write("Press any key...");
System.Console.ReadKey(true);
The
ReadKey
call is blocking. Your thread will be put in wait state wasting not CPU time, will be waken up only when you actually press a key, all the way from triggering a hardware interrupt in OS kernel (or if you abort the thread or the whole process).
—SA