所以假设我有一个 IEnumerable 日期,我想获得一个范围内的日期。
鉴于日期现在已排序,Linq 和 IOrderedEnumerable 是否足够智能以实现选择更快算法的能力。
所以考虑一下:
IOrderedEnumerable<ObjectWith2DateTimes> orderedDates = dates.OrderBy(x => new Tuple(x.datetime1,x.datetime2));
...
this is called a bunch
...
DateTime afterDateTime = (some datetime)
DateTime beforeDateTime = (other datetime)
yield return orderedDates.Where(x => x.datetime1 >= afterDateTime && x.datetime2 <= beforeDateTime)
如果这个实现不聪明,是否有其他实现可以让它变得聪明?