title: Find an item from collection based on the minimum value of a property
body: <p>I have the following objects defined:</p>
  
  <pre><code>public class MyGroup
  {
      public MyItem[] Items;
  }
  
  public class MyItem
  {
      public int Val;
  }
  </code></pre>
  
  <p>Say I have a list as List where each MyGroup object contains a varying number of MyItems; which in turn contains a varying value for Val.</p>
  
  <p>How can I find the subset of MyGroup objects that contains the lowest Val across all MyGroup objects.</p>
  
  <p>E.g:
  If I define the list with following values</p>
  
  <ul>
  <li><strong>MyGroup1</strong> contains a MyItem for each of the following values: 1, 5 and
  7 </li>
  <li><strong>MyGroup2</strong> contains a MyItem for each of the following values: 3 and,<br>
  8</li>
  <li><strong>MyGroup3</strong> contains a MyItem for each of the following values: 2, 4,
  5 and, 7</li>
  </ul>
  
  <p>Then the returned value will be <strong>MyGroup1</strong> (as a single item list) because it contains the value 1 which is the lowest across all values.</p>
  
  <p>However, if there are multiple values with the lowest value like:</p>
  
  <ul>
  <li><strong>MyGroup1</strong> contains a MyItem for each of the following values: 1, 5 and 7</li>
  <li><strong>MyGroup2</strong> contains a MyItem for each of the following values: 3 and, 8</li>
  <li><strong>MyGroup3</strong> contains a MyItem for each of the following values: 1, 4, 5 and, 7</li>
  </ul>
  
  <p>Then it will return <strong>MyGroup1</strong> and <strong>MyGroup3</strong> in a list.</p>
  
  <p>Thanks in advance.</p>