zoukankan      html  css  js  c++  java
  • C# 集合分组,将一个集合分若干组

    static void Main(string[] args)
            {
                List<int> vs = new List<int>();
                for (int i = 0; i < 101; i++)
                {
                    vs.Add(i);
                }
                //分成3组
                SpliteSourceByCount(vs, 3);
                //根据页面大小分组 20
                SpliteSourceBySize(vs,20);
            }
    
           
     /// <summary>
            /// 将集合若干组
            /// </summary>
            /// <param name="source">数据集</param>
            /// <param name="pageSiez">每一组大小</param>
            private static List<List<int>> SpliteSourceBySize(List<int> source, int pageSiez)
            {
                int listCount = (source.Count() - 1) / pageSiez + 1;
    
                // 计算组数 
                List<List<int>> pages = new List<List<int>>();
                for (int pageIndex = 1; pageIndex <= listCount; pageIndex++)
                {
                    var page = source.Skip((pageIndex - 1) * pageSiez).Take(pageSiez).ToList(); pages.Add(page);
                }
                return pages;
            }
    
            /// <summary> /// 将集合若干组
            /// /// </summary> ///
            /// <param name="source">数据集</param> 
            /// /// <param name="count">组数</param> 
            private static List<List<int>> SpliteSourceByCount(List<int> source, int count)
            {
                int pageSiez = source.Count() / count;//取每一页大小 
                int remainder = source.Count() % count;//取余数 
                List<List<int>> pages = new List<List<int>>();
                for (int pageIndex = 1; pageIndex <= count; pageIndex++)
                {
                    if (pageIndex != count)
                    {
                        var page = source.Skip((pageIndex - 1) * pageSiez).Take(pageSiez).ToList(); pages.Add(page);
                    }
                    else
                    {
                        var page = source.Skip((pageIndex - 1) * pageSiez).Take(pageSiez + remainder).ToList(); pages.Add(page);
                    }
                }
                return pages;
            }
  • 相关阅读:
    ArrayList用法
    MessageBox
    将文本文件导入Sql数据库
    在桌面和菜单中添加快捷方式
    泡沫排序
    Making use of localized variables in javascript.
    Remove double empty lines in Visual Studio 2012
    Using Operations Manager Connectors
    Clear SharePoint Designer cache
    Programmatically set navigation settings in SharePoint 2013
  • 原文地址:https://www.cnblogs.com/houzf/p/12951000.html
Copyright © 2011-2022 走看看