我想使用Linq查询项目中的公交车时刻表,以便在任何时候都可以获取下5个公交车到达时间。如何将查询限制在前5个结果中?更一般而言,如何在C#中获取列表的一部分?(在Python中,我将mylist[:5]用来获取前5个元素。)
3 回答
largeQ
TA贡献2039条经验 获得超7个赞
var firstFiveItems = myList.Take(5);
或切片:
var secondFiveItems = myList.Skip(5).Take(5);
当然,根据某种顺序获得前五个项目通常很方便:
var firstFiveArrivals = myList.OrderBy(i => i.ArrivalTime).Take(5);
慕容3067478
TA贡献1773条经验 获得超3个赞
就像pagination您可以使用以下公式进行服用slice of list or elements:
var slice = myList.Skip((pageNumber - 1) * pageSize)
.Take(pageSize);
示例1:前五个项目
var pageNumber = 1;
var pageSize = 5;
示例2:后五个项目
var pageNumber = 2;
var pageSize = 5;
示例3:前五个项目
var pageNumber = 3;
var pageSize = 5;
如果通知配方参数pageSize = 5并且pageNumber正在更改,则要更改切片中的项目数,请更改pageSize。
- 3 回答
- 0 关注
- 2101 浏览
添加回答
举报
0/150
提交
取消