博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将一维数组中元素随机打乱排序
阅读量:5742 次
发布时间:2019-06-18

本文共 1311 字,大约阅读时间需要 4 分钟。

从原List中每次随机取一项,添加到新的List中,并在原List中删除。这样重复,直到原List为空为止。

public static List
GetRandomList
(List
inputList){ //Copy to a array T[] copyArray = new T[inputList.Count]; inputList.CopyTo(copyArray); //Add range List
copyList = new List
(); copyList.AddRange(copyArray); //Set outputList and random List
outputList = new List
(); Random rd = new Random(DateTime.Now.Millisecond); while (copyList.Count > 0) { //Select an index and item int rdIndex = rd.Next(0, copyList.Count - 1); T remove = copyList[rdIndex]; //remove it from copyList and add it to output copyList.Remove(remove); outputList.Add(remove); } return outputList;}
用linq
List
l = new List
();l = l.Select(a => new { a, newID = Guid.NewGuid() }).OrderBy(b => b.newID).Select(c=>c.a).ToList();

 

得到随机数的方法

Random r=new Random();

int n1=r.Next();        //返回非负随机整数

Response.Write(n1+"<br>");

int n2=r.Next(10);   //返回一个小于所指定最大值(10)的非负随机整数

Response.Write(n2+"<br>");

int n3=r.Next()%10;  //返回一人小于所指定最大值(10)的非负随机整数

Response.Write(n3+"<br>");

int n4=r.Next(1,20);  //返回一个指定范围(1-20)内的随机整数

Response.Write(n4+"<br>");

double d5=r.NextDouble();  //得到一个介于0.0-1.0之间的随机整数

Response.Write(d5+"<br>");

转载地址:http://eiizx.baihongyu.com/

你可能感兴趣的文章
htm5新特性(转)
查看>>
Linux-Centos启动流程
查看>>
php 设计模式
查看>>
后端技术精选 - 收藏集 - 掘金
查看>>
Laravel 服务容器
查看>>
mac安装kubernetes并运行echoserver
查看>>
多页架构的前后端分离方案(webpack+express)
查看>>
算法(第4版) Chapter 1
查看>>
前端技术选型的遗憾和经验教训
查看>>
“亲切照料”下的领域驱动设计
查看>>
SRE工程师到底是做什么的?
查看>>
解读:Red Hat为什么收购Ansible
查看>>
Ossim下的安全合规管理
查看>>
DelphiWebMVC框架下BPL热部署实现
查看>>
C++与MySQL的冲突
查看>>
siki学习之观察者模式笔记
查看>>
单元测试
查看>>
spring.net 继承
查看>>
ES6:模块简单解释
查看>>
JavaScript indexOf() 方法
查看>>