title: WinForms ComboBox data binding gotcha
body: <p>Assume you are doing something like the following</p>
  
  <pre><code>List&lt;string&gt; myitems = new List&lt;string&gt;
  {
      "Item 1",
      "Item 2",
      "Item 3"
  };
  
  ComboBox box = new ComboBox();
  box.DataSource = myitems;
  
  ComboBox box2 = new ComboBox();
  box2.DataSource = myitems
  </code></pre>
  
  <p>So now we have 2 combo boxes bound to that array, and everything works fine. But when you change the value of one combo box, it changes BOTH combo boxes to the one you just selected.</p>
  
  <p>Now, I know that Arrays are always passed by reference (learned that when i learned C :D), but why on earth would the combo boxes change together? I don't believe the combo box control is modifying the collection at all. </p>
  
  <p>As a workaround, don't this would achieve the functionality that is expected/desired</p>
  
  <pre><code>ComboBox box = new ComboBox();
  box.DataSource = myitems.ToArray();
  </code></pre>