c#随机数方法产生5个1~10(包括1和10)之间的整数是什么?
程序:
int[] s = new int[5];//s数组中存放着需要的数字
Random ra = new Random();
for (int i = 0; i < 5; i++)//遍历数组显示结果
{
s[i] = ra.Next(1,10);
Console.WriteLine(s[i]);
}
Console.ReadKey();
其中用到了随机数函数Random()。
我们可以用以下两种方法初始化一个随机数发生器;
函数是这样用,比如100至999的随机数
Random ran=new Random();
int RandKey=ran.Next(100,999);
不过这样会有重复,可以给Random一个系统时间做为参数,以此产生随机数,就不会重复了
第一种方法不指定随机种子,系统自动选取当前时前作随机种子:
Random ra=new Random();
第二种方法是指定一个int型的参数作为随机种子:
int iSeed=6;
Random ra=new Random(iSeed);
下面我们要用到Random.Next()方法产生随机数。
ra.Next();
它返回一个大于或等于零而小于2,147,483,647的数,这并不满足我们的需要,下面我们介绍它的重载函数和其它一些方法。
public virtual int Next(int);
用法:ra.next(20)
返回一个小于所指定最大值(此处为20)的正随机数。
public virtual int Next(int minValue, int maxValue);
用法:ra.next(1,20)
返回一个指定范围内(此处为1-20之间)的随机数,我们在下面的实例中会用到此函数。
类System.Random还有几个方法分别是:
公共方法:
NextBytes用随机数填充指定字节数组的元素。
NextDouble返回一个介于 0.0 和 1.0 之间的随机数。
受保护的方法:
Sample返回一个介于 0.0 和 1.0 之间的随机数,只允许子类对象访问。
以上介绍了随机数的基本用法,下面我们用一个实例来做更进一步的介绍。要在一段数字区间内随机生成若干个互不相同的随机数,比如在从1到20间随机生成6个互不相同的整数。