ノーリピートで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]':あなたは例を見ることができます
。 – martijnn2008
"リンク"とは何ですか?それはリンクと呼ばれる任意の変数を持っていません – BugFinder
ウィキペディアとこのサイトでフィッシャー - イェイツのシャッフルを探します。 –