C#中唯一的4位随机数

ksg*_*ksg 20 c# random

我想生成一个唯一的4位数随机数.这是我尝试的下面的代码:

生成随机数的代码

//Generate RandomNo
public int GenerateRandomNo()
{
    int _min = 0000;
    int _max = 9999;
    Random _rdm = new Random();
    return _rdm.Next(_min, _max);
}
Run Code Online (Sandbox Code Playgroud)

问题是我收到了一个随机的no值241,这个值不是4位数.代码有问题吗?

Bri*_*SFT 43

//Generate RandomNo
public int GenerateRandomNo()
{
    int _min = 1000;
    int _max = 9999;
    Random _rdm = new Random();
    return _rdm.Next(_min, _max);
}
Run Code Online (Sandbox Code Playgroud)

你需要一个4位数的代码,从1000开始

  • 在“Next (int minValue, int maxValue)”中,“maxValue”是独占上限。这意味着要包含 9999 的值,您应该将 `_max` 设置为 10000。 (2认同)
  • 请注意,“0-999”和“9999”不会成为结果的一部分 (2认同)

Moo*_*oon 22

请改用此代码:

private Random _random = new Random();

public string GenerateRandomNo()
{
    return _random.Next(0, 9999).ToString("D4");
}
Run Code Online (Sandbox Code Playgroud)


x0n*_*x0n 7

241是四位数字,如果使用前导零:0241.

使用如下格式字符串显示返回的数字:

String.Format("{0:0000}", n);


Sai*_*aif 6

只需一行代码

int num = new Random().Next(1000, 9999);
Run Code Online (Sandbox Code Playgroud)


Ste*_*ens 5

0与0000相同.

241与0241相同.

您可以将整数格式化为前导零的字符串.