【发布时间】:2017-11-27 10:31:51
【问题描述】:
我尝试编写一个函数来生成从 1 到 80 的数字,并且不重复。
问题是我的生成器工作不正常,因为存在重复。
public void generator() // сделать по кнопке, но пока что проверка тип на работоспособность
{
Random rand = new Random();
int[] arr = new int[20];
int temp = 0;
foreach (TextBox c in panel1.Controls)
{
for (int i = 0; i < 20; i++)
{
arr[i] = rand.Next(1, 80);
temp = arr[i];
for (int j = 0; j < i; j++)
{
while (arr[i] == arr[j])
{
arr[i] = rand.Next(1, 80);
j = 0;
temp = arr[i];
}
temp = arr[i];
}
c.Text = arr[i].ToString();
}
}
}
我尝试使用this solution,但我不明白如何从那里的List 获取数字。
请帮帮我
【问题讨论】:
-
我认为洗牌更容易
[1, 2, 3, 4, 5, ..., 80]。 -
什么“链接”?它没有任何称为 Link 的变量
-
在维基百科和本网站上查找 Fisher-Yates shuffle。
-
@BugFinder 操作,已编辑