.net 如何使用RandomNumberGenerator类c#生成从0到122的随机数

8yoxcaq7  于 2023-03-20  发布在  .NET
关注(0)|答案(3)|浏览(311)
byte[] rngBytes = new byte[4];
RandomNumberGenerator.Create().GetBytes(rngBytes);
int mynum= BitConverter.ToInt32(rngBytes, 0);

我已经从上面的代码中得到了更大的数字,可以是-ve或+ve数字。
我需要帮助如何使用RandomNumberGenerator类c#生成从0到100的随机数
更新1:x1c 0d1x
我已尝试RandomNumberGenerator.GetInt32(),但遇到此异常

htzpubme

htzpubme1#

要使用RandomNumberGenerator类获取0122之间的随机数,可以使用GetInt32(Int32)方法,该方法:
“使用强加密随机数生成器生成介于0(包括0)和指定的不包含上限之间的随机整数.”
例如:

var randomInt = RandomNumberGenerator.GetInt32(123);
llmtgqce

llmtgqce2#

static int GenerateRandom(int min, int max)
        {
            return RandomNumberGenerator.GetInt32(min, max + 1);
        }
        int randomNumber = GenerateRandom(0, 122);

由于上限是独占的,如GetInt 32方法的说明中所述,因此必须将最大限制加+1
像你这样的初学者给你一个友好的提示:试着探索你想使用的类的方法的描述--很快你就会适应这样简单的任务!

9o685dep

9o685dep3#

可以使用Random()类

var mynum= new Random().Next(0,123);

相关问题