title: C# why is it skipping my console.readline()?
body: <p>So the program is working correctly, but for some reason, on the second time through, it is skipping the Console.ReadLine() prompt altogether. I ran through debug and confirmed that it isn't a loop problem as it is actually entering the method, displaying the WriteLine then completely skipping over the ReadLine, thus returning a blank back to Main() causing it to exit. What the deuce? Any ideas?</p>
  
  <p>here is the code.</p>
  
  <pre><code>using System;
  using System.Collections;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  namespace LAB4B
  {
      class Program
      {
          static void Main(string[] args)
          {
              string inString;
              ArrayList translatedPhrase = new ArrayList();
  
              DisplayInfo();
              GetInput(out inString);
  
              do
              {
                  GetTranslation(inString, translatedPhrase);
                  DisplayResults(inString, translatedPhrase);
                  GetInput(out inString);
              } while (inString != "");
  
          }
  
          static void DisplayInfo()
          {
              Console.WriteLine("*** You will be prompted to enter a string of  ***");
              Console.WriteLine("*** words. The string will be converted into ***");
              Console.WriteLine("*** Pig Latin and the results displayed. ***");
              Console.WriteLine("*** Enter as many strings as you would like. ***");
          }
  
          static void GetInput(out string words)
          {
  
              Console.Write("\n\nEnter a group of words or ENTER to quit: ");
              words = Console.ReadLine();            
          }
  
          static void GetTranslation(string originalPhrase, ArrayList translatedPhrase)
          {
              int wordLength;                       
              string[] splitPhrase = originalPhrase.Split();
  
              foreach (string word in splitPhrase)
              {
                  wordLength = word.Length;
                  translatedPhrase.Add(word.Substring(1, wordLength - 1) + word.Substring(0, 1) + "ay");
              }          
  
  
  
  
          }
  
          static void DisplayResults(string originalString, ArrayList translatedString)
          {
              Console.WriteLine("\n\nOriginal words: {0}", originalString);
              Console.Write("New Words: ");
              foreach (string word in translatedString)
              {
                  Console.Write("{0} ", word);
              }
  
              Console.Read();
          }
  
      }
  }
  </code></pre>