您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。
- 内容介绍
- 文章标签
- 相关推荐
本文共计358个文字,预计阅读时间需要2分钟。
方案一:采用C语言实现。
方案一:使用C#的List的GetRange方法实现
/// <summary>
///使用List的GetRange方法实现
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="data"></param>
/// <param name="pageIndex">起始值1开始</param>
/// <param name="pageSize"></param>
/// <returns></returns>
public static List<T> subList<T>(List<T> data, int pageNum, int pageSize)
{
//总数
var totalCount = data.Count;
//总页数算法
var totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
var startIndex = (pageNum - 1) * pageSize;
var endIndex = pageNum * pageSize > totalCount ? totalCount - startIndex : pageSize;
var list = data.GetRange(startIndex, endIndex);
System.Diagnostics.Debug.Write(JsonHelper .Serialize(list) + "\n");
return list;
}
方案二:使用C#的List的.Skip().Take()方法
/// <summary>
/// List分页处理
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_list"></param>
/// <param name="PageIndex"></param>
/// <param name="PageSize"></param>
/// <returns></returns>
public static List<T> SplitList<T>(List<T> _list, int PageIndex, int PageSize)
{
int _PageIndex = PageIndex == 0 ? 1 : PageIndex;
int _PageSize = PageSize == 0 ? 20 : PageSize;
int PageConut = (int)Math.Ceiling(Convert.ToDecimal(_list.Count) / _PageSize);
if (PageConut >= _PageIndex)
{
List<T> list = new List<T>();
list = _list.Skip((_PageIndex - 1) * _PageSize).Take(_PageSize).ToList();
return list;
}
else
return _list;
}
本文共计358个文字,预计阅读时间需要2分钟。
方案一:采用C语言实现。
方案一:使用C#的List的GetRange方法实现
/// <summary>
///使用List的GetRange方法实现
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="data"></param>
/// <param name="pageIndex">起始值1开始</param>
/// <param name="pageSize"></param>
/// <returns></returns>
public static List<T> subList<T>(List<T> data, int pageNum, int pageSize)
{
//总数
var totalCount = data.Count;
//总页数算法
var totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
var startIndex = (pageNum - 1) * pageSize;
var endIndex = pageNum * pageSize > totalCount ? totalCount - startIndex : pageSize;
var list = data.GetRange(startIndex, endIndex);
System.Diagnostics.Debug.Write(JsonHelper .Serialize(list) + "\n");
return list;
}
方案二:使用C#的List的.Skip().Take()方法
/// <summary>
/// List分页处理
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_list"></param>
/// <param name="PageIndex"></param>
/// <param name="PageSize"></param>
/// <returns></returns>
public static List<T> SplitList<T>(List<T> _list, int PageIndex, int PageSize)
{
int _PageIndex = PageIndex == 0 ? 1 : PageIndex;
int _PageSize = PageSize == 0 ? 20 : PageSize;
int PageConut = (int)Math.Ceiling(Convert.ToDecimal(_list.Count) / _PageSize);
if (PageConut >= _PageIndex)
{
List<T> list = new List<T>();
list = _list.Skip((_PageIndex - 1) * _PageSize).Take(_PageSize).ToList();
return list;
}
else
return _list;
}

