title: Elegant way to combine multiple collections of elements?
body: <p>Say I have an arbitrary number of collections, each containing objects of the same type (for example, <code>List&lt;int&gt; foo</code> and <code>List&lt;int&gt; bar</code>). If these collections were themselves in a collection (e.g., of type <code>List&lt;List&lt;int&gt;&gt;</code>, I could use <code>SelectMany</code> to combine them all into one collection.</p>
  
  <p>However, if these collections are not already in the same collection, it's my impression that I'd have to write a method like this:</p>
  
  <pre><code>public static IEnumerable&lt;T&gt; Combine&lt;T&gt;(params ICollection&lt;T&gt;[] toCombine)
  {
     return toCombine.SelectMany(x =&gt; x);
  }
  </code></pre>
  
  <p>Which I'd then call like this:</p>
  
  <pre><code>var combined = Combine(foo, bar);
  </code></pre>
  
  <p>Is there a clean, elegant way to combine (any number of) collections without having to write a utility method like <code>Combine</code> above? It seems simple enough that there should be a way to do it in LINQ, but perhaps not.</p>