关于asp.net 循环输出多个随机数相同时的解决方法
我们在使用Random生成随机数时经常会出现一种误区,下面我们就此介绍一下:
其中用于产生随机数的函数原型为:Rnd(x),该函数用以产生一个介于0~1之间的单精度随机数。x是产生随机数的种子。如果要从(min, max)这个范围内随机抽取一个数,此时需要用到公式:随机数 = (max – min) * Rnd(x) + min。
一般的生成随机数方法:
Random ran=new Random();
int temp=ran.Next(100);生成100以内的一个随机数;这是没有什么问题的
但是我们经常用到for循环生成多个随机数,这时候可能就会出现问题,如果你对随机数原理不是很了解的话,很可能会出现一个误区如:
for(int i=0;i<100;i++)
{
Random ran=new Random();
int temp=ran.Next(100);
Responsed.Write(temp.ToString());
}
这时候你会发现一个问题:生成的所有的随机数都是一样的,不管你ran.Next的值怎么设置都是一样的,为是为什么呢,这就是我们要说的一种误区,其实正确的写法是这样的:
Random ran=new Random();
for(int i=0;i<100;i++)
{
int temp=ran.Next(100);
Responsed.Write(temp.ToString());
}
看看是不是得到了自己想要的东西。呵呵
转自:http://hi.baidu.com/arqq1230/blog/item/770fb1fab1b7ed9f58ee901c.html