private int pic = 0;
private List<int> num = null;
.
.
.
.
.
public void ss(){
this.imageList = new List<Image>();
this.imageList.Add(Properties.Resources.1);
this.imageList.Add(Properties.Resources.2);
this.imageList.Add(Properties.Resources.3);
.
.
.
.
.
this.imageList.Add(Properties.Resources.58);
this.imageList.Add(Properties.Resources.59);
this.pic = GetMyRandomNumber(0, 60);
if (this.num == null)
this.num= new List<int>();
while (this.num.Count < 61)
{
pic = GetMyRandomNumber(0, 60);
if (this.num.Contains(pic) == false)
{
this.num.Add(pic);
break;
}
}
this.pictureBox1.Image = imageList[pic];
重複のこのコードチェックはNUMの値を格納し、格納された値が重複しているかどうかを確認SS法
を呼び出します。
しかし、同じ値がPIC
重複する値に保存されているが表示されるように続けます。
どうすれば修正できますか?
最初の数字をリストに追加するとすぐにループを解除すると、リストには複数のアイテムがどのように含まれますか?それだけで重複はありますか?より多くのデバッグ情報を提供してください。おそらく、完全な例であっても確認できます。 – David
0から60までの番号をランダムに並べ替える場合は、[Fisher-Yates Shuffle](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle)を使用することをお勧めします。 – juharr