Random ran=new Random(seed); 
int num=ran.Next(a,b); 
seed是种子,它对下面int num=ran.Next(a,b)产生什么作用呢?
假设是Random ran=new Random(20); 
int num=ran.Next(0,9); 
num值是什么呢?
谢谢,在线等。

解决方案 »

  1.   

    http://hi.baidu.com/%D5%C5%F3%C6%D0%F8/blog/item/2ff5c960bfb5a240eaf8f839.html
    参考下
      

  2.   

    seed 对下面int num=ran.Next(a,b) 并无直接作用  作用是让产生多个num 不重复.
      

  3.   

    Random ran=new Random(20); 
    int num=ran.Next(0,9); 
    产生20个不重复?
      

  4.   

    Seed: 用来计算伪随机数序列起始值的数字。如果指定的是负数,则使用其绝对值。
      

  5.   

    Random ran=new Random(20); 
    int num=ran.Next(0,9); 这个只能产生一个数据  通过改变seed,获得不同的值;
    for (int i = 0; i < 20; i++)
                {
                    Random rm = new Random(i);//每个i可以产生一个相对固定的数
                    Console.Write(rm.Next(0,20).ToString() + "\n");
                }
      

  6.   

    某种程度上讲这个写法有误。
    Random ran=new Random(20); 
    int num=ran.Next(0,9); 无参构造配合有参Next()方法来用。Next(a)产生从0到a的随即数,Next(a,b)产生从a到b的随即数
    有参构造配合无参Next()方法来用、产生从0到构造参数的值的随即数。
      

  7.   

    首先,seed 对int num=ran.Next(a,b)的num产生没有任何影响,其次,num 的产生是a到 b之间的整数.
    没有找到具体的依据,但是可以用代码测试一下.
                Random r1 = new Random(100);//如果seed相同的话,生成的随即序列也就相同.即r1与r3的随即序列相同,不过这只是指随即序列相同,跟随即数没什么关系,更加具体的你可以在baidu search一下"随即数 生成算法".
                Random r2 = new Random();
                Random r3 = new Random(100);
                for (int i = 0; i < 100; i++)
                {
                    int i1 = r1.Next();//产生0到最大整数之间的随即整数;
                    int i2 = r1.Next(20);//产生0到20之间的随即数;
                    int i3 = r1.Next(10, 20);//产生10到20之间的随即数;
                    int i4 = r2.Next();//产生0到最大整数之间的随即整数;
                    int i5 = r2.Next(20);//产生0到20之间的随即数;
                    int i6 = r2.Next(10, 20);//产生10到20之间的随即数;
                    int i7 = r3.Next();//产生0到最大整数之间的随即整数;
                    int i8 = r3.Next(20);//产生0到20之间的随即数;
                    int i9 = r3.Next(10, 20);//产生10到20之间的随即数;
                    Console.WriteLine(i1);
                    Console.WriteLine(i2);
                    Console.WriteLine(i3);
                    Console.WriteLine(i4);
                    Console.WriteLine(i5);
                    Console.WriteLine(i6);
                    Console.WriteLine(i7);
                    Console.WriteLine(i8);
                    Console.WriteLine(i9);
                }希望对楼主有帮助.
      

  8.   

    Random ran=new Random(seed); 
    int num=ran.Next(a,b); 
    seed是种子,它对下面int num=ran.Next(a,b)产生什么作用呢? 

    随机数里面的种子,起到的作用是:如果使用同一个种子,那么生成的随机数序列是一样的,不变得
    也就是说如果你第一次这样:
                             Random ran=new Random(20); 
                          int num=ran.Next(a,b);
                          假如:生成的随机数是3,5,1,8,10.....
    那么,当你第二次仍设置同样的种子:
                             Random ran=new Random(20); 
                          int num=ran.Next(a,b);
                          那么:生成的随机数仍会是3,5,1,8,10.....种子就起到这么一个作用,搂主可以尝试一下,实践第一嘛。如果要使每次生成的随机序列不一样,那么搂主可以用系统时间的Ticks作种子。
    其实Random类的无参构造函数(也就是默认种子),构造的种子好像就是系统时间的Ticks关于第二个问题,搂主可以自己试验一下,就知道了