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
decimal? result = (from Item itm in itemList
where itm.Amount != 0
select (decimal?)itm.Amount).Min();
Note the conversion to decimal?. You'll get an empty result if there are none (just handle that after the fact - I'm mainly illustrating how to stop the exception). I also made "non-zero" use != rather than >.