На данный вопрос уже ответили:
Код ниже по идее должен 20 раз выбрать случайное число из массива, но получается почему-то 20 раз подряд одно и то же число.
int[] mas = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int count = 0;
do
{
Random rnd = new Random();
int nm = mas[rnd.Next(0, 8)];
Console.WriteLine(nm);
count++;
}
while (count < 20);
Console.ReadKey();
У вас объекты класса Random создаются с одинаковым сидом, поэтому и метод Next() будет возвращать одни и те же цифры. Создайте один экземпляр Random, а в цикле вызывайте метод Next().
Если вы используете счётчик для цикла и в теле цикла нет условий для этого счётчика, то лучше использовать цикл for вместо do while.
int[] mas = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Random rnd = new Random();
for (int count = 0; count < 20; count++)
{
int nm = mas[rnd.Next(0, 8)];
Console.Write(nm + " ");
}
Console.ReadKey();
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости