ASP.NET的随机数

来源:互联网 发布:matlab数组方程 编辑:程序博客网 时间:2024/04/28 14:05

    我们可以使用两种方式初始化一个随机数发生器:

    第一种方法不指定随机种子,系统自动选取当前时间作为随机种子:

    Random ro = new Random();


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

    int iSeed=10;

    Random ro = new Random(10);

    之后,我们就可以使用这个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.NextDouble()方法相似的方法是Random.Sample(),它跟Random.NextDouble()方法唯一的区别在于访问级别,我们可以看看它们的原始声明:


protected virtual double Sample();

public virtual double NextDouble();


Random.Sample()方法是保护方法,只允许子类的对象访问,而Random.Sample()方法则可以看作是Random.Sample()的公开版本。一般地,用户在Random的子类中重写Sample()方法来得到更一般的分布。

原创粉丝点击