2024年5月25日发(作者:)

C# Random随机函数使用方法

随机数的使用很普遍,可用它随机显示图片,用它防止无聊的人在论坛灌水还可以

用来加密信息等等。本文讨论如何在一段数字区间内随机生成若干个互不相同的随

机数,比如在从1到20间随机生成6个互不相同的整数,并通过此文介绍Visual

c#中随机数的用法。

.ord中提供了一个专门产生随机数的类,此类默认情况

下已被导入,编程过程中可以直接使用。我们知道,计算机并不能产生完全随机的

数字,它生成的数字被称为伪随机数,它是以相同的概率从一组有限的数字中选取

的,所选的数字并不具有完全的随机性,但就实用而言,其随机程度已经足够了。

我们可以用以下两种方法初始化一个随机数发生器;

函数是这样用,比如100至999的随机数

Random ran=new Random();

int RandKey=(100,999);

不过这样会有重复,可以给Random一个系统时间做为参数,以此产生随机数,就不

会重复了

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

Random ra=new Random();

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

int iSeed=6;

Random ra=new Random(iSeed);

下面我们要用到()方法产生随机数。

();

它返回一个大于或等于零而小于2,147,483,647的数,这并不满足我们的需要,下

面我们介绍它的重载函数和其它一些方法。

public virtual int Next(int);

用法:(20)

返回一个小于所指定最大值(此处为20)的正随机数。

public virtual int Next(int minValue, int maxValue);

用法:(1,20)

返回一个指定范围内(此处为1-20之间)的随机数,我们在下面的实例中会用到此

函数。

类还有几个方法分别是:

公共方法:

NextBytes用随机数填充指定字节数组的元素。

NextDouble返回一个介于 0.0 和 1.0 之间的随机数。

受保护的方法:

Sample返回一个介于 0.0 和 1.0 之间的随机数,只允许子类对象访问。

以上介绍了随机数的基本用法,下面我们用一个实例来做更进一步的介绍。要在一

段数字区间内随机生成若干个互不相同的随机数,比如在从1到20间随机生成6

个互不相同的整数。

主要是下面两个函数getRandomNum与getNum:

public int[] getRandomNum(int num,int minValue,int maxValue)

{

Random ra=new Random(unchecked((int)));

int[] arrNum=new int[num];

int tmp=0;

for (int i=0;i<=num-1;i++){

tmp=(minValue,maxValue); //随机取数