title: Console.KeyAvailable - How do I reset this boolean?
body: <p>using C# here. I'm creating a console app. I have two methods that scroll text instead of just instantly displaying it on the screen. One works the same as Console.Write() and the other works like Console.WriteLine(). The difference is there is a 30 ms delay between each character. I'm trying to make it so that when you hold down a key it speeds up to a 5ms delay between each character. The problem is that once you hit a key the Console.KeyAvailable is true and won't reset, and so it keeps going with only a 5ms delay. Is there a way to set this back to false, or something else I can do to accomplish this? Here is my code:</p>
  
  <pre><code>    //Console.Write() version
      static void RPGWrite(string write)
      {
          char[] writearray = write.ToCharArray();
          int writearraycount = writearray.Count();
          for (int x = 0; x &lt; writearraycount; x++)
          {
              Console.Write(Convert.ToString(writearray[x]));
              if (Console.KeyAvailable == false)
                  System.Threading.Thread.Sleep(30);
              else
                  System.Threading.Thread.Sleep(5);                   
          }            
      }
      //Console.WriteLine() version
      static void RPGWriteLine(string write)
      {
          char[] writearray = write.ToCharArray();
          int writearraycount = writearray.Count();
          for (int x = 0; x &lt; writearraycount; x++)
          {
              Console.Write(Convert.ToString(writearray[x]));
              if (Console.KeyAvailable == false)
                  System.Threading.Thread.Sleep(30);
              else
                  System.Threading.Thread.Sleep(5);
          }
          Console.Write("\n");
      }
  </code></pre>