title: C# multiple answers for one sentence
body: <p>I want to write a program to do the following.</p>
  
  <ul>
  <li><p>The user asks a question and the program has 5 different answers for that question and the program need to pick one random response. </p></li>
  <li><p>The program works with vocal commands and the feedback from the program is vocal. </p></li>
  </ul>
  
  <p><strong>Code</strong></p>
  
  <pre><code>public partial class Form1 : Form
  {           
  
      SpeechSynthesizer s = new SpeechSynthesizer();
      Choices list = new Choices();
      Boolean wake = true;
      public Form1()
      {
  
          SpeechRecognitionEngine rec = new SpeechRecognitionEngine();
          list.Add(new String[] { "hello", "how are you", "what time is it", "what day is it","wake", "sleep", "restart", "open studio", "close studio", "search ", "standby", "mute", "unmute", "up", "down", "hex system up", "google dog"});
          Grammar gr = new Grammar(new GrammarBuilder(list));
          try
          {
  
              rec.RequestRecognizerUpdate();
              rec.LoadGrammar(gr);
              rec.SpeechRecognized += rec_SpeachRecognized;
              rec.SetInputToDefaultAudioDevice();
              rec.RecognizeAsync(RecognizeMode.Multiple);
              rec.LoadGrammar(new DictationGrammar());
              RecognitionResult Result = rec.Recognize();
              string ResultString = "";
              foreach (RecognizedWordUnit w in Result.Words)                
              {
                  ResultString += w.Text;
              }
  
          }
          catch { return; }
  
  
          InitializeComponent();
      }
      public void KillProg(String s)
      {
  
          System.Diagnostics.Process[] procs = null;
          try
          {
              procs = Process.GetProcessesByName(s);
              Process prog = procs[0];
              if (!prog.HasExited) { prog.Kill(); }
  
  
      }finally
          {
              if (procs != null) 
              { 
                  foreach (Process p in procs)
                  {
                      p.Dispose();
                  }
              }
          }
  }    
  
  
      public void restart()
      {
          Process.Start(@"D:\here.exe");
          Environment.Exit(0);
      }
      public void  say(String h)
      {
  
          s.Speak(h);
  
      }
  
      public static void ExecuteCommand(string Command)
      {
          System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c" + Command);
          procStartInfo.RedirectStandardOutput = true;
          procStartInfo.UseShellExecute = false;
          procStartInfo.CreateNoWindow = true;
          System.Diagnostics.Process proc = new System.Diagnostics.Process();
          proc.StartInfo = procStartInfo;
          proc.Start();
          proc.Close();
      }
      //Speech Commands
      private void rec_SpeachRecognized(object sender, SpeechRecognizedEventArgs e)
      {            
          String r = e.Result.Text;
          if (r == "wake")  wake = true;
          if (r == "sleep")  wake = false;
          if (wake == true)
          {
              if (r.ToLower().Contains("search"))
              {  string query = r.Replace("search", "");
                  query = System.Web.HttpUtility.UrlEncode(query);
                  string url = "https://www.google.com.au/search?q=" + query;
                  System.Diagnostics.Process.Start(url);  }
                  if (r == "hex system up") { Process.Start(@"C:\Program Files\Rainmeter\Rainmeter.exe"); say("Welcome back sir                   the system is loading and all energy is stabilized      ,          now i am at 100% capacity"); }
                  if (r == "down") { ExecuteCommand("C:/nircmd.exe changesysvolume -10000"); }
                  if (r == "up") { ExecuteCommand("C:/nircmd.exe changesysvolume 10000"); }
                  if (r == "unmute") { ExecuteCommand("C:/nircmd.exe mutesysvolume 0"); say("system unmute sir"); }
                  if (r == "mute") { say("mute now!"); ExecuteCommand("C:/nircmd.exe mutesysvolume 1"); }
                  if (r == "standby") { say("The system will enter in waiting mode sir"); ExecuteCommand("C:/nircmd.exe standby"); }
                  if (r == "close studio") { KillProg("WDExpress"); }
                  if (r == "open studio") { Process.Start(@"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\WDExpress.exe"); }
                  if (r == "hello") { say("Hi"); }
                  if (r == "how are you") { say("Great , and you?"); }
                  if (r == "what time is it") { say(DateTime.Now.ToString("hh:mm")); }
                  if (r == "what day is it") { say(DateTime.Now.ToString("M/d/yyyy")); }
                  if (r == "open google") { Process.Start("https://www.google.ro"); }
  
  
          }
  
  
  
      }
  
      private void say()
      {
          throw new NotImplementedException();
      }
  
      private void Form1_Load(object sender, EventArgs e)
      {
  
      }
  
      public bool c { get; set; }
  
      public int r { get; set; }
  
      public int rnd { get; set; }
  
      public Grammar dictationGrammar { get; set; }
  }
   }
  </code></pre>