-1
リストボックス内に現在含まれている数字をシャッフルしようとしています。リストボックス内の数字コンテンツを並べ替え
は、しかし、今、私は任意のコンテナまたは配列を使用せずにシャッフルしようとしているが、問題そうすることを持っておりますが、私は、配列でこれを行うことができる午前私のインデックス
とエラーを取得します。
this.index = 0;
int a = Convert.ToInt32(lstHoldValue.Items.Count);
lstHoldValue.Items.Clear();
for (int i = 0; i < a; i++)
{
int idx = rnd.Next(i, a);
//swap elements
int tmp = Convert.ToInt32(lstHoldValue.Items[i]);
(lstHoldValue.Items[i]) = Convert.ToInt32(lstHoldValue.Items[idx]);
(lstHoldValue.Items[idx]) = Convert.ToInt32(tmp);
lstHoldValue.Items.Add("\t" + Convert.ToInt32(lstHoldValue.Items[i]));//show array in a listbox
}
を格納されているアイテムは、あなたがリスト内の項目の金額を取得クリアし、その後、あなたはリストをクリア。だからこれはあなたが最初に間違っている99%の量を作る効果があります。 – Sayse
ありがとうございますが、その数字は2回目の数字を繰り返すようです。リストラインに追加することで、クリアを取って –
です。本当にリストのコピーを作ってから、そのコピーを次のように変更する必要があります。望むなら、そのリストを使用するようにしてください – Sayse