0
我有一个包含一个列表框和四个单选按钮的窗体。每个单选按钮都将一定数量的数字添加到列表框(100,1,000,10,000和100,000)。我试图应用Fisher-Yates Shuffle算法来确保数组中没有重复的数字。我已经尝试了所有在线提示,并没有太多帮助。当我在下面运行我的代码时,列表框只显示一堆零,而不是数字1-100。有什么我失踪或我做错了什么?Fisher-Yates在列表框中随机播放? C#Windows窗体
private void randNumGenerator(int Size)
{
Numbers.Items.Clear();
array = new int[Size];
Shuffle(array);
foreach(int value in array)
{
Numbers.Items.Add(value);
}
}
#endregion
#region Shuffle Algorithm
static Random numGenerator = new Random();
static void Shuffle(int[] array)
{
for (int i = array.Length - 1; i >= 0; i--)
{
int r = numGenerator.Next(0, i);
int temp = array[r];
array[r] = array[i];
array[i] = temp;
}
}
#endregion
'阵列=新INT [尺寸];随机播放(数组);'你发送一个零数组在这里洗牌。显示的结果是正确的。尝试使用'for'循环来填充数组 – ASh