【发布时间】:2014-03-18 20:13:56
【问题描述】:
我正在尝试将随机数保存在一个列表中,相同的数字不能出现两次。 这是一个 BINGO 游戏,此方法用于显示 ex B12,然后用户按 Enter 键,将显示一个新数字。这将一直持续到用户写 q。
这行得通,但是这个数字可以显示两次...
static void bingo()
{
Random rnd =new Random();
List<int> check = new List<int>();
string choice = "";
while (choice != "Q")
{
int number = rnd.Next(1, 76);
while (!check.Contains(number))
{
kontroll.Add(number);
}
if (number <=15)
{
choice = Interaction.InputBox("B" + number);
choice = choice.ToUpper();
}
else if(number <= 30)
etc.
【问题讨论】:
-
所以首先生成所有可能的字母/数字的列表,然后打乱该列表,然后遍历该列表。只要您在列表中继续“前进”,就永远不会重复。
-
Randomize a List<T> in C# 的可能重复项