using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tool { public class PagedList { public List Items { get; private set; } // 存储当前页的元素 public int PageIndex { get; private set; } // 当前页码(从0开始) public int PageSize { get; private set; } // 每页的元素数 public int TotalCount { get; private set; } // 总记录数 public int TotalPages => (int)Math.Ceiling((double)TotalCount / PageSize); // 总页数 public bool HasPreviousPage => PageIndex > 0; public bool HasNextPage => PageIndex + 1 < TotalPages; public PagedList(List items, int count, int pageIndex, int pageSize) { Items = items; TotalCount = count; PageIndex = pageIndex; PageSize = pageSize; } // 工厂方法,用于创建分页列表 public static PagedList Create(IList source, int pageIndex, int pageSize) { var count = source.Count; // 总记录数 var items = source.Skip(pageIndex * pageSize).Take(pageSize).ToList(); // 获取当前页的元素 return new PagedList(items, count, pageIndex, pageSize); } } }