I found that your code is working fine.
I added the following public variables to make it work though (on my machine)
List<int> NumbersToPickFrom = new List<int>(); List<int> RandomPicks = new List<int>(); Random rand = new Random();
Though on the second run, i found that the number of items in RandomPicks have doubled and there were duplicates as well, so I changed initializeArray() as below
private void initializeArray() { for (int i = 1; i <= 80; i++) { NumbersToPickFrom.Add(i); } RandomPicks.Clear(); // Added this to clear the existing values in the list. }