排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256
50010702506256
欢迎加群交流技术
分类:
.NET
实现一个根据某个数字分组的扩展方法
这种方法的作用可以用在批量添加的时候分组去批量添加,还有其他情况需要分段解析等
/// <summary>
/// 根据传一个数把集合分组,用的时候可以用foreach去遍历他,每次循环就是一组
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="source"></param>
/// <param name="num"></param>
/// <returns></returns>
public static List<List<T>> GroupByNum<T>(this IEnumerable<T> source, int num)
{
if (source == null)
throw new Exception("未把对象引用到对象的实例");
List<List<T>> res = new List<List<T>>();
int i = 1, beforenum = num;
List<T> li = new List<T>();
foreach (T t in source)
{
li.Add(t);
if (i == num) //出现了一个分组
{
res.Add(li);//添加一个分组
li = new List<T>();//重新实例化一个对象
num = num + beforenum; //循环到下次分组时在添加
}
i++;
}
if (li.Count < beforenum) { res.Add(li); }//主要是最后一次如果不够分组就要添加
return res;
}解析的时候就是一个双循环。外面的循环就是有多少个组,里边的循环就是一组多少个
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价