Board logo

标题: c#生成随机数(1) [打印本页]

作者: look_w    时间: 2019-4-16 19:40     标题: c#生成随机数(1)

允许有重复:

首先初始化一个随机数发生器,可以使用两种方式:
第一种方法不指定随机种子,系统自动选取当前时间作为随机种子:

 

 Random ro = new Random();



第二种方法可以指定一个int型参数作为随机种子:
 

     int iSeed=10;
      Random ro = new Random(10);
      long tick = DateTime.Now.Ticks;  Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32));



  这样可以保证99%不是一样。


之后,我们就可以使用这个Random类的对象来产生随机数,这时候要用到Random.Next()方法。这个方法使用相当灵活,你甚至可以指定产生的随机数的上下限。
  不指定上下限的使用如下:

     int iResult;
      iResult=ro.Next();



  下面的代码指定返回小于100的随机数:

    int iResult;
      int iUp=100;
      iResult=ro.Next(iUp);



 而下面这段代码则指定返回值必须在50-100的范围之内:

     int iResult;
      int iUp=100;
      int iDown=50;
      iResult=ro.Next(iDown,iUp);



  除了Random.Next()方法之外,Random类还提供了Random.NextDouble()方法产生一个范围在0.0-1.0之间的随机的双精度浮点数:
 

     double dResult;
      dResult=ro.NextDouble();



 但是用Random类生成随机数,会出现重复




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0