一切福田,不離方寸,從心而覓,感無不通。

关于asp.net 循环输出多个随机数相同时的解决方法

关于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