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
Original issue reported on code.google.com by
hammerskov
on 7 Jun 2011 at 7:05