title: Most succinct way to convert ListBox.items to a generic list
body: <p>I am using C# and targeting the .NET Framework 3.5. I'm looking for a small, succinct and efficient piece of code to copy all of the items in a <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.aspx" rel="noreferrer">ListBox</a> to a <code>List&lt;String&gt;</code> (Generic <a href="http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx" rel="noreferrer">List</a>).</p>
  
  <p>At the moment I have something similar to the below code: </p>
  
  <pre><code>        List&lt;String&gt; myOtherList =  new List&lt;String&gt;();
          // Populate our colCriteria with the selected columns.
  
          foreach (String strCol in lbMyListBox.Items)
          {
              myOtherList.Add(strCol);
          }
  </code></pre>
  
  <p>Which works, of course, but I can't help but get the feeling that there must be a better way of doing this with some of the newer language features. I was thinking of something like the <a href="http://msdn.microsoft.com/en-us/library/73fe8cwf.aspx" rel="noreferrer">List.ConvertAll</a> method but this only applies to Generic Lists and not <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.objectcollection.aspx" rel="noreferrer">ListBox.ObjectCollection</a> collections.</p>