c# - 在不使用任何库的情况下使用 C# Web API 分页大量数据
问题描述
我正在使用 C# 开发 API。在我们的一份报告中,我们需要向客户发送大量数据。为了提供分页,我在库中做了很多搜索,最后想出了自己编写函数的想法。我已经编写了这段代码,它可以根据我的需要工作:
public class PagedList<T>
{
public PagedList() { Data = new List<T>(); }
public List<T> Data { get; set; }
public List<T> ToPagedList(List<T> req, int PageNumber, int PageSize)
{
var result = new List<T>();
var count = req.Count();
if (PageNumber * PageSize > count && count - PageNumber * PageSize > PageSize)
{
PageNumber = count / PageSize;
}
for (int i = PageSize * (PageNumber - 1); i <= PageSize * PageNumber - 1 && i < count; i++)
result.Add(req[i]);
return result;
}
}
该方法将像以下示例一样使用:
result = new MyClass.PagedList<TransactionHistory>().ToPagedList(result, PageNumber, PageSize);
我得到的答案太简单了,我觉得有问题。我会不会在这个选择上犯了错误?
解决方案
推荐阅读
- javascript - Javascript 两个区间的图像变化
- android - Retrofit2/OKHttp3:以编程方式设置自定义的每个请求标头
- jquery - JQuery 事件侦听器匹配案例
- javascript - 将 json 对象链接到多个对象
- excel - Excel:单个公式中的平均差异
- linux - 在特定列之间插入管道作为分隔符
- javascript - 如何在 react.js 中更改单个组件 onClick 的样式
- android - Kotlin 中私有和受保护的可见性修饰符有什么区别?
- c# - Json控制器方法中的空参数,而Jquery参数有值
- json - 如何通过 MediaWiki API 从维基百科页面获取人口?