📜  C# max rand - C# (1)

📅  最后修改于: 2023-12-03 14:59:40.477000             🧑  作者: Mango

C# max rand

在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;

有了这些代码片段,我们可以生成各种需要的随机数,然后在程序中使用它们。