一楼代码,如果随机数范围是1~10000,不知道要运行多久,
如果随机不到某一个数字,岂不是无限循环?
如下方法,传入数组长度即可:
private int[] GetRdmArr(int num)
{
int[] iArr = new int[num];
//lstRdm:产生随机数的数组
ArrayList lstRdm = new ArrayList();
//给lstRdm赋值(1,2,3....10)
for (int n = 1; n <= num; n++) lstRdm.Add(n);
//给iArr赋值(1~10随机且不重复)
Random rd = new Random();
for (int i = 0; i < iArr.Length; i++)
{
//随机找一个索引
int rIndex = rd.Next(0, lstRdm.Count);
iArr[i] = (Int32)lstRdm[rIndex];
lstRdm.RemoveAt(rIndex);//将已经添加的项删除(保证不重复)
}
return iArr;
}