static void Main(string[] args)
{
int pageCount;
for (int i = 1; i < 5; i++)
{
List<int> lists = Program.GetHotelCommentList(i, out pageCount);
Console.WriteLine("共八页"+pageCount.ToString() + "第" + i.ToString() + "页 \n");
for (int j = 0; j < lists.Count; j++)
{
Console.WriteLine(lists[j].ToString() + "\t");
}
Console.WriteLine("\n");
}
Console.Read();
}
public static List<int> GetHotelCommentList(int pageIndex, out int pageCount)
{
int[] test = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 };
var list = new List<int>();
list = test.ToList();
pageCount = 0;
int pageSize = 4; //每页显示四条数据
//获取总页数
pageCount = list.Count % pageSize == 0 ? ((list.Count - pageSize >= 0 ? (list.Count / pageSize) : (list.Count == 0 ? 0 : 1))) : list.Count / pageSize + 1;
//这个list 就是取到10条数据
//Skip跳过序列中指定数量的元素,然后返回剩余的元素。
//Take序列的开头返回指定数量的连续元素。
list = list.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList(); //假设当前页为第三页。这么这里就是跳过 10*(3-1) 即跳过20条数据,Take(pageSize)的意思是:取10条数据,既然前面已经跳过前20条数据了,那么这里就是从21条开始,取10条咯
return list;
}