欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net 无重复随机数代码

程序员文章站 2023-08-23 19:24:16
复制代码 代码如下:/// /// 产生无重复随机数 /// ///
复制代码 代码如下:

/// <summary>
/// 产生无重复随机数
/// </summary>
/// <param name="num">个数</param>
/// <param name="minvalue">最小数</param>
/// <param name="maxvalue">最大数</param>
/// <returns>数组</returns>
public int[] getnum(int num, int minvalue, int maxvalue)
{
random ra = new random(unchecked((int)datetime.now.ticks));
int[] arrnum = new int[num];//注意:数组中各元素的初始值是0,当0在取值范围内时要另处理
int tmp = 0;
for (int i = 0; i < num; i++)
{
tmp = getrandomnum(tmp, minvalue, maxvalue, ra);//取出值赋到数组中

if (array.indexof(arrnum, tmp) < 0)//判断是否存在,不存在的话元素tmp的索引应为-1
{
arrnum[i] = tmp;
}
else
{
i = i - 1;
}
}
return arrnum;
}
public int getrandomnum(int tmp, int minvalue, int maxvalue, random ra)
{
tmp = ra.next(minvalue, maxvalue);
return tmp;
}