namespace Milimoe.FunGame.Core.Api.Utility
{
public static class LINQExtension
{
///
/// 分页查询:返回指定页码的数据
///
/// 集合元素的类型
/// 要分页的源集合
/// 页码
/// 每页显示的元素数量
/// 当前页的数据
public static IEnumerable GetPage(this IEnumerable source, int page, int pageSize)
{
return source.Skip((page - 1) * pageSize).Take(pageSize);
}
///
/// 计算总页数
///
/// 集合元素的类型
/// 源集合
/// 每页显示的元素数量(必须大于 0)
/// 总页数(至少为 1)
public static int MaxPage(this IEnumerable source, int pageSize)
{
if (pageSize <= 0) pageSize = 1;
int count = source.Count();
if (count == 0) return 1;
return (int)Math.Ceiling((double)count / pageSize);
}
}
}