CH19_Random类


本章目标

  • 掌握Random类常用方法的运用

Random类

概述

C# Random 类是一个产生伪随机数字的类,它的构造函数有两种。

1
2
Random r1 = new Random();
Random r2 = new Random(10);

前者是根据触发那刻的系统时间做为种子,来产生一个随机数字,后者可以自己设定触发的种子,一般都是用 UnCheck((Int)DateTime.Now.Ticks) 做为参数种子。

因此如果计算机运行速度很快,如果触发 Randm 函数间隔时间很短,就有可能造成产生一样的随机数,因为伪随机的数字,在 Random 的内部产生机制中还是有一定规律的,并非是真正意义上的完全随机。

常用方法

Random 类中提供的 Next、NextBytes 以及 NextDouble 方法可以生成整数类型、byte 数组类型以及双精度浮点型的随机数,详细说明如下表所示。

案例1: 分别使用 Next、NextDouble 以及 NextBytes 方法生成随机数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Program
{
static void Main(string[] args)
{
Random rd = new Random();

Console.WriteLine("产生一个10以内的数:{0}", rd.Next(0, 10));
Console.WriteLine("产生一个0到1之间的浮点数:{0}", rd.NextDouble());

byte[] b = new byte[5];
rd.NextBytes(b);

Console.WriteLine("产生的byte类型的值为:");
foreach(byte i in b)
{
Console.Write(i + " ");
}
Console.WriteLine();
}
}

课后作业

1.略