Hashtable hashtable = new Hashtable();
Random rm = new Random();
int RmNum = ;
for (int i = ; hashtableCount < RmNum; i++)
{
int nValue = rmNext();
if (!hashtableContainsValue(nValue) && nValue != )
{
hashtableAdd(nValue nValue);
ConsoleWriteLine(nValueToString());
}
}
方法递归用它来检测生成的随机数是否有重复如果取出来的数字和已取得的数字有重复就重新随机获取
Random ra=new Random(unchecked((int)DateTimeNowTicks));
int[] arrNum=new int[];
int tmp=;
int minValue=;
int maxValue=;
for (int i=;i<;i++)
{
tmp=raNext(minValuemaxValue); //随机取数
arrNum=getNum(arrNumtmpminValuemaxValuera); //取出值赋到数组中
}
public int getNum(int[] arrNumint tmpint minValueint maxValueRandom ra)
{
int n=;
while (n<=arrNumLength)
{
if (arrNum[n]==tmp) //利用循环判断是否有重复
{
tmp=raNext(minValuemaxValue); //重新随机获取
getNum(arrNumtmpminValuemaxValuera);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取
}
n++;
}
return tmp;
}