我正在创建一个随机数生成器,当我运行程序时,显示的数字可能小于所需的值。
以下是我正在使用的代码:
Random _rand = new Random();
private void RandomNumberGenerator()
{
int random = _rand.Next(1, 10000);
string text;
text = "TP0" + random.ToString();
label1.Text = text;
}
private void button1_Click(object sender, EventArgs e)
{
RandomNumberGenerator();
}
每次单击该按钮,它都会生成一个新的随机数,但有时该数字可能小于10000
。示例:我得到了TP08212
,但下次生成新值时,我得到了TP0724
。这是怎么发生的?
如何防止已显示的号码再次显示?
答案 0 :(得分:1)
阅读文档:Random.Next
您提供的最小值是1 .. 724大于1.一切正常
答案 1 :(得分:0)
来自docs:
minValue
Type: System.Int32
The inclusive lower bound of the random number returned.
maxValue
Type: System.Int32
The exclusive upper bound of the random number returned.
maxValue must be greater than or equal to minValue.
Return Value
Type: System.Int32
32-bit signed integer greater than or equal to minValue and less than maxValue;
that is, the range of return values includes minValue but not maxValue.
If minValue equals maxValue, minValue is returned.
调用Next
的两个参数版本将始终生成[minValue,maxValue]范围内的数字
答案 2 :(得分:0)
如果你想要五个数字,而第二个数字总是一个或多个,那么得一个1000..9999范围内的随机数:
int random = _rand.Next(1000, 10000);
如果您想要五个数字,但仍然是一个以上的范围,请将随机数格式化为四位数:
text = "TP0" + random.ToString("0000");
答案 3 :(得分:0)
您设置的范围是1-10000。怎么了?如果您想要超过10000的值: 随机+ = 10000将使范围10001-20000。
随机的所有值都会在每个新生成的数组上添加它。检查那个数组。