引數:
var list = new List<int>(); // 集合 var totalCount = 17; // 總數量 var pageSize = 5; // 每頁查詢數量
第一種:
var pageTotal = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1; for (var i = 0; i < pageTotal; i++) { var itemList = List.GetRange(pageSize * i, totalCount >= pageSize * (i + 1) ? pageSize : totalCount - pageSize * i); }
第二種:
var group = list.Select((item, index) => new { index = index / pageSize, item}) .GroupBy(x => x.index).ToList(); for(var item in group) { var itemList = item.Select(x => x.item).ToList(); }
第三種:
var pageTotal = Math.Ceiling(totalCount / (float)pageSize); for (var i = 0; i < pageTotal; i++) { var itemList = List.Skip(i * pageSize).Take(pageSize).ToList(); }