如何在C#中获取列表的前N个元素?

我想使用Linq查询项目中的公交车时刻表,以便在任何时候都可以获取下5个公交车到达时间。如何将查询限制在前5个结果中?


更一般而言,如何在C#中获取列表的一部分?(在Python中,我将mylist[:5]用来获取前5个元素。)


牧羊人nacy
浏览 2102回答 3
3回答

largeQ

var firstFiveItems = myList.Take(5);或切片:var secondFiveItems = myList.Skip(5).Take(5);当然,根据某种顺序获得前五个项目通常很方便:var firstFiveArrivals = myList.OrderBy(i => i.ArrivalTime).Take(5);

慕容3067478

就像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。
打开App,查看更多内容
随时随地看视频慕课网APP