我有一个包含9个数字的int数组,我想将随机数设置为随机标签,(4个标签)。在按钮单击添加下一个随机数到下一个标签,所以我有这个代码:
int[] CardDeck = new int[9] { 3, 4, 5, 6, 7, 8, 9, 10, 11 };
Random RandomCard = new Random();
int randomIndex = RandomCard.Next(0, CardDeck.Length);
int randomNumber = CardDeck[randomIndex];
if (string.IsNullOrEmpty(L1.Text))
{
L1.Text = Convert.ToString(randomNumber);
return;
}
if (string.IsNullOrEmpty(L2.Text) && Convert.ToInt32(L1.Text) > 0)
{
L2.Text = Convert.ToString(randomNumber);
}
但是有些错误,它将相同的数字设置为两个标签。
答案 0 :(得分:0)
这是因为您使用了相同的randomNumber
变量。
您应为剩余标签生成另一个随机数。
int randomLabel1 = CardDeck[RandomCard.Next(0, CardDeck.Length)];
int randomLabel2 = CardDeck[RandomCard.Next(0, CardDeck.Length)];
然后你应该将这两个变量与标签一起使用。
请注意,此方法不保证唯一的随机数。两个标签的编号可能相同。
PS :您也可以使用相同的randomNumber
来存储新的随机数,但请记住 AFTER 设置第一个标签:
int randomNumber = CardDeck[RandomCard.Next(0, CardDeck.Length)];
//Set first label
randomNumber = CardDeck[RandomCard.Next(0, CardDeck.Length)];
//Set second label