【发布时间】:2017-10-10 14:43:39
【问题描述】:
我的 Windows 窗体上有一个按钮,可以将五张随机卡片添加到我的列表中。 随机卡片显示在列表框中。 当我第一次按下按钮时,列表框显示 5 张随机卡片。 当我再次按下按钮时,列表框现在显示相同的 5 张随机卡片 3 次。 而不是 10 张随机卡。 有没有办法解决这个问题?
private void RandomButton_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < 5; i = i + 1)
fiveRandomCards.Add(new Card((Symbool)random.Next(1, 4), (Waarde)random.Next(1, 14)));
foreach (Card card in fiveRandomCards)
CardsLB.Items.Add(card.name);
}
【问题讨论】:
-
不要在每次单击按钮时创建新的
Random对象。为它创建一个类字段,并在创建表单时实例化它。 -
题外话:在命名变量、方法等时,请尽量使用英语而不是您的母语。相信我,您和其他开发人员会发现它非常有用
-
从一副完整的牌开始,删除 5 并将它们放在列表中 - 现在你不能重新选择它们
-
您没有从列表中删除项目。请注意,要实际编写您所描述的内容,您需要将完整的卡片列表洗牌并取前五张。搜索“c# randomize list”。