📅  最后修改于: 2023-12-03 14:59:40.477000             🧑  作者: Mango
在C#中,我们可以使用System.Random
类来生成随机数。System.Random
类有一个Next
方法,可以用于生成一个介于0和指定最大值之间的随机数。要生成介于最小值和最大值之间的随机数,我们需要对生成的随机数进行调整。
以下是生成介于最小值和最大值之间的随机数的代码片段:
int min = 5;
int max = 10;
int random = new Random().Next(min, max); //生成介于5和10之间的随机数
如果我们需要生成一个非常大的随机数怎么办?或者想要在一定范围内随机生成浮点数呢?
不用担心,在C#中,我们可以使用System.Security.Cryptography.RandomNumberGenerator
类来生成具有很高熵(最小的可预测性)的随机数。下面是生成最大的int类型随机数的代码片段:
using System.Security.Cryptography;
byte[] bytes = new byte[4];
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetBytes(bytes);
int random = int.MaxValue - BitConverter.ToInt32(bytes, 0);
对于生成浮点数,我们可以生成一个介于0和1之间的随机数,然后将其乘以指定范围之间的值,并添加最小值,如下所示:
double min = 1.0;
double max = 2.0;
double random = new Random().NextDouble() * (max - min) + min;
有了这些代码片段,我们可以生成各种需要的随机数,然后在程序中使用它们。