Если вы хотите сгенерировать список из 1000 чисел, используя только те, которые вы дали:
Dim r as New Random()
Dim thousand as New List(Of Integer)(1000)
'short way to create an array
Dim onlyFrom = {1,3,5,9,21,70,56}
For i = 1 to 1000
thousand.Add(onlyFrom(r.Next(0, onlyFrom.Length)))
Next i
Он многократно запрашивает в Random случайное целое число от 0 до длины массива. Next () может возвращать нижнее число, но никогда не верхнее число. Документация
Если вы хотите перетасовать эти числа в произвольном порядке, используйте способ LINQ:
Dim r as New Random()
Dim onlyFrom = {1,3,5,9,21,70,56}
Dim shuffled = onlyFrom.OrderBy(Function(x) r.Next()).ToArray()
Примечание: Не используйте Новый Случайный () в al oop