我正在尝试创建一个介于1到500之间且不会重复的随机数生成器。我制作了一个数组来跟踪是否使用了生成的数字,但是它似乎不起作用
if (drawnTF[num] == false)
{
labels[labelNum].Visible = false;
txtLatestDrawnNum.Text = "Latest Drawn Number: " + latestDrawnNum.ToString("000");
drawnTF[num] = true;
}
else
{
while (drawnTF[num] == true)
{
num = random.Next(0, 499);
if (drawnTF[num] == false)
{
labelNum = 499 - num;
labels[labelNum].Visible = false;
txtLatestDrawnNum.Text = "Latest Drawn Number: " + latestDrawnNum.ToString("000");
drawnTF[num] = true;
}
}
}
答案 0 :(得分:4)
您可以尝试将500个数字放入列表中,然后执行next(0,values.Length)。每次您选择一个随机数,都会将其从该列表中删除。这样,您将始终拥有不同的号码。