title: Linq: group and select from collection
body: <p>I have a class:</p>
  
  <pre><code>public class LevelInfo
      {
          public int Id { get; set; }
          public string HexColor { get; set; }
          public string Caption { get; set; }
          public int MinPrice { get; set; }
      }
  </code></pre>
  
  <p>I have a collection of <code>LevelInfo</code>. For example, we have the following data:  </p>
  
  <pre><code>Id     HexColor     Caption     MinPrice
  1       color1       name1         10
  2       color2       name2         20
  3       color2       name3         10
  4       color3       name4         10
  </code></pre>
  
  <p>I want to get new collection of <code>LevelInfo</code> grouped(not exactly, don't know how to say properly) by HexColor.
  For the data above I want to get the following collection that contain 3 records:</p>
  
  <pre><code>Id     HexColor     Caption     MinPrice
  1       color1       name1         10
  3       color2       name3         10
  4       color3       name3         10
  </code></pre>
  
  <p>We not select record with <code>Id</code> equals 2 because we have <code>color1</code> (with <code>Id</code> =1) and it's have min price.
  How can I do this? 
  Thanks.</p>