programisius / morelinq

Automatically exported from code.google.com/p/morelinq
Apache License 2.0
0 stars 0 forks source link

FirstOrFallback and LastOrFallback #67

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Just ran into a situation where FirstOrFallback would have been nice to have. I 
have a list of ranges specified by an editor of the website. The user enters a 
number on the site and I need to find the correct range. I have no control over 
the editor and the way he defines the ranges so there is a possiblity that 
ranges overlap or that the number entered by the user falls outside the ranges. 
So something like this would do it:

var rangeWithLargestCeiling = ranges.MaxBy(x=>x.Ceiling).Single();

var range = ranges
    .Where(x => IsInRange(number,x))
    .FirstOrFallback(() => rangeWithLargestCeiling);

This will handle both the overlapping issue (where there is more than one range 
where the number is in range) and the fallback.

Original issue reported on code.google.com by hammerskov on 7 Jun 2011 at 7:05

GoogleCodeExporter commented 8 years ago
This issue has been migrated to:
https://github.com/MoreLINQ/morelinq/issues/67
The conversation continues there.
DO NOT post any further comments to the issue tracker on Google Code as it is 
shutting down.
You can also just subscribe to the issue on GitHub to receive notifications of 
any further development.

Original comment by azizatif on 21 Aug 2015 at 6:55