日期:2014-05-19  浏览次数:20569 次

在极短的时间内,如何取出不同的随机数.
在一个循环中.要不断的得到随机数.
for   (int   i   =   0;   i   <   100;   i++)
{
      Random   r   =   new   Random();
      Response.Write(r.Next(4)   +   "   ");
}
可以看到,它输出来的结果,都是同一个数字的.所以为了得到不同的随机数,所以我不得不让时间变得慢一点.所以就在里面加了一个高次数的循环.
for   (int   i   =   0;   i   <   100;   i++)
{
    for   (int   j   =   0;   j   <   1000000;   j++)   {   }
    Random   r   =   new   Random();
    Response.Write(r.Next(4)   +   "   ");
}
虽然问题解决了,但速度却慢了很多.所以想问一问,有没有别的解决方法?

------解决方案--------------------
for (int i = 0; i < 100; i++)
{
Random rnd = new Random(unchecked((int)DateTime.Now.Ticks*i));

Response.Write(rnd.Next() + " <br> ");
}