asp.net 生成无重复随机数的代码
本文导语: c#(asp.net)无重复的随机数。 代码示例: /// /// 生成无重复随机数 /// /// 个数 /// 最小数 /// 最大数 /// 数组 public int[] getNum(int num, int minValue, int maxValue) { Random ra = new Random(unchecked((int)DateTime.Now.Ticks)); int[] arrNum = new int[num];/...
c#(asp.net)无重复的随机数。
///
/// 生成无重复随机数
///
/// 个数
/// 最小数
/// 最大数
/// 数组
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;
}