title: Changing method call every time loop executes C#
body: <p>Alright, so I want to call</p>
  
  <pre><code>for (int i = 0; i &lt; b; b--)
  {
      color += ChooseColor() + " ";
  }
  </code></pre>
  
  <p>the important part is that it gets called several times. My ChooseColors() is</p>
  
  <pre><code>private static string ChooseColor()
  {
      Random random = new Random();
      var colors = new List&lt;string&gt; { "Blue", "Red", "Green", "Indigo", "Black", "White", "Violet", "Turquoise", "Pink", "Lavender", "Cinder", "Fuschia", "Orange" };
      int index = random.Next(colors.Count);
      string colorName = colors[index];
      colors.RemoveAt(index);
      return colorName;
  }
  </code></pre>
  
  <p>the issue is, I want it to call a new instance of ChooseColor everytime. For instance, it would print Black White instead of Black Black. Right now it prints the exact same thing over and over instead of dumping current and calling again (which is what I thought loops did >.&lt;) any suggestions?</p>