Fisher-Yates 在列表框中随机播放? C# Windows 表单

Fisher-Yates Shuffle in a Listbox? C# Windows Forms

我有一个包含列表框和四个单选按钮的表单。每个单选按钮将一定数量的数字添加到列表框(100、1,000、10,000 和 100,000)。我正在尝试应用 Fisher-Yates Shuffle 算法来确保数组中没有重复的数字。我已经尝试了网上建议的所有方法,但没有多大帮助。当我 运行 下面的代码时,列表框只显示一堆零,而不是随机排列的数字 1-100。是不是我遗漏了什么或做错了什么?

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

尝试更改行:

array = new int[Size];

收件人:

array = Enumerable.Range(0, Size).ToArray();