我有一个包含Time
属性的项目列表。如果我要选择Time
等于或大于然后等于的所有项目startTime
,那么我将编写如下内容:
var newList = list.Where(i => (i.Time >= startTime));
但是,现在我也想获取最后一个项目,其中时间小于startTime
。有没有更好的方法来实现这一目标?
例如,我有一个列表,其中包含Time
该列表中的项目:
[5:32, 5:46, 5:51, 6:07, 6:11, 6:36]
我们将指定startTime
为6:00
。
现在我们想得到这个时间:
[5:51, 6:07, 6:11, 6:36]
一次获取整个列表:
var newList = list
.OrderByDescending(i => i.Time)
.Take(list.Count(j => j.Time >= startTime) + 1)
.OrderBy(k => k.Time); //Optional
在认知的建议下:
var newList = list
.OrderBy(i => i.Time)
.Skip(list.Count(j => j.Time < startTime - 1));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句