public
partial
class
RandomNum : System.Web.UI.Page
... {
protected void Page_Load(object sender, EventArgs e)
...{
//方法一产生随机数。
Response.Write(getRandomOne()+"<br/>");
//方法二产生随机数。
int[] arr = getRandomNum(6, 1, 20); //从1至20中取出6个互不相同的随机数
int i = 0;
string temp = "";
while (i <= arr.Length - 1)
...{
temp += arr[i].ToString() + " ";
i++;
}
Response.Write(temp+"<br/>");
}
private int getRandomOne()
...{
//Thread.Sleep(25);
Random r = new Random();
return r.Next(0, 1000);
}
public int[] getRandomNum(int num, int minValue, int maxValue)
...{
Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
int[] arrNum = new int[num];
int tmp = 0;
for (int i = 0; i <= num - 1; i++)
...{
tmp = ra.Next(minValue, maxValue); //随机取数
arrNum[i] = getNum(arrNum, tmp, minValue, maxValue, ra); //取出值赋到数组中
}
return arrNum;
}
public int getNum(int[] arrNum, int tmp, int minValue, int maxValue, Random ra)
...{
int n = 0;
while (n <= arrNum.Length - 1)
...{
if (arrNum[n] == tmp) //利用循环判断是否有重复
...{
tmp = ra.Next(minValue, maxValue); //重新随机获取。
getNum(arrNum, tmp, minValue, maxValue, ra);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
}
n++;
}
return tmp;
}
}
... {
protected void Page_Load(object sender, EventArgs e)
...{
//方法一产生随机数。
Response.Write(getRandomOne()+"<br/>");
//方法二产生随机数。
int[] arr = getRandomNum(6, 1, 20); //从1至20中取出6个互不相同的随机数
int i = 0;
string temp = "";
while (i <= arr.Length - 1)
...{
temp += arr[i].ToString() + " ";
i++;
}
Response.Write(temp+"<br/>");
}
private int getRandomOne()
...{
//Thread.Sleep(25);
Random r = new Random();
return r.Next(0, 1000);
}
public int[] getRandomNum(int num, int minValue, int maxValue)
...{
Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
int[] arrNum = new int[num];
int tmp = 0;
for (int i = 0; i <= num - 1; i++)
...{
tmp = ra.Next(minValue, maxValue); //随机取数
arrNum[i] = getNum(arrNum, tmp, minValue, maxValue, ra); //取出值赋到数组中
}
return arrNum;
}
public int getNum(int[] arrNum, int tmp, int minValue, int maxValue, Random ra)
...{
int n = 0;
while (n <= arrNum.Length - 1)
...{
if (arrNum[n] == tmp) //利用循环判断是否有重复
...{
tmp = ra.Next(minValue, maxValue); //重新随机获取。
getNum(arrNum, tmp, minValue, maxValue, ra);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
}
n++;
}
return tmp;
}
}