排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
分类:
随笔
可以用来做随机分组,思路就是先参数一个不重复的随机数列表,然后在根据几个一组进行分组即可。
例如如下需求:写段代码来让一个班的人随机分几个小队,比如这个班21个人,3个人一队
参考代码如下:
public void Index() { Response.ContentType = "text/html;charset=UTF-8"; List<string> namelist = names.Split(',').ToList(); //先随机参数不重复的随机数 Random random = new Random(); List<int> poilist = new List<int>(); for (int i = 0; i < namelist.Count; i++) { int randomNum = random.Next(0, namelist.Count); if (poilist.Contains(randomNum)) { i--; continue; } poilist.Add(randomNum); } //根据数字分组(3个一小组),然后把结果在用个双循环输出 foreach (List<int> itemList in poilist.GroupByNum(3)) { foreach (int item in itemList) { Response.Body.Write(System.Text.Encoding.UTF8.GetBytes(namelist[item] + " ")); } Response.Body.Write(System.Text.Encoding.UTF8.GetBytes("<br/>")); } }
GroupByNum是个根据数组分组的扩展方法,自己封装的
欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739
评价