title: Select a Dictionary<T1, T2> with LINQ
body: <p>I have used the "select" keyword and extension method to return an <code>IEnumerable&lt;T&gt;</code> with LINQ, but I have a need to return a generic <code>Dictionary&lt;T1, T2&gt;</code> and can't figure it out.  The example I learned this from used something in a form similar to the following: </p>
  
  <pre><code>IEnumerable&lt;T&gt; coll = from x in y 
      select new SomeClass{ prop1 = value1, prop2 = value2 };
  </code></pre>
  
  <p>I've also done the same thing with extension methods.  I assumed that since the items in a  <code>Dictionary&lt;T1, T2&gt;</code> can be iterated as <code>KeyValuePair&lt;T1, T2&gt;</code> that I could just replace "SomeClass" in the above example with "<code>new KeyValuePair&lt;T1, T2&gt; { ...</code>", but that didn't work (Key and Value were marked as readonly, so I could not compile this code).</p>
  
  <p>Is this possible, or do I need to do this in multiple steps?</p>
  
  <p>Thanks.</p>