ListBox
から別のランダムジェネレータを作成しています。 listBox
からランダムに3つのアイテムを選んでTextBox
に表示してもらいたいです。ListBoxからランダムなアイテムを繰り返し選択せずに選択する方法
Random random = new Random();
int a = random.Next(0, listBox1.Items.Count);
listBox1.SelectedItem = listBox1.Items[a];
int b = random.Next(0, listBox1.Items.Count);
listBox1.SelectedItem = listBox1.Items[b];
int c = random.Next(0, listBox1.Items.Count);
listBox1.SelectedItem = listBox1.Items[c];
listBox1.Select();
textBox1.Text = listBox1.Items[a] + ", " + listBox1.Items[b] + ", " + listBox1.Items[c];
問題が2回選択されることがあります。 例:
のListBox項目:一、二、三、四、五、六
出力:1つは、六、一つ(私はしたくない二回選択された項目「ワン」、)
ありがとうございました。
enumerable.rangeを使用して、0からlist.count - 1までの整数のリストを取得します。シャフリングアルゴリズムをルックアップします。カードのデッキをシャッフルするように。 – Derek
[ランダムでユニークな値を生成するC#](https://stackoverflow.com/questions/14473321/generating-random-unique-values-c-sharp) – EpicKip