首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

c#生成随机数(1)

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类生成随机数,会出现重复
返回列表