title: How to achieve "MinOrDefault" in LINQ?
body: <p>I'm producing a list of decimal values from a LINQ expression and I want the minimum non zero value. However it's entirely possible that the LINQ expression will result in an empty list.</p>
  <p>This will raise an exception and there is no MinOrDefault to cope with this situation.</p>
  <pre><code>decimal result = (from Item itm in itemList
                    where itm.Amount &gt; 0
                    select itm.Amount).Min();
  </code></pre>
  <p>How can I set the result to 0 if the list is empty?</p>