louis vuitton bag moncler jacka ugg boots mbt sko louis vuitton oslo moncler ugg www.steklo1.ru
   Поиск
 

FAQ

Вопрос - Ответ

Cи Шарп это просто Simple C#
Логин Пароль Вход Регистрация
Главная
Изучаем C#
Web-приложения
Win-приложения
Web-сервисы
ADO.NET
FrameWork
Алгоритмы
Исходники
Классы
Среда разработки
Статьи
Форум
FAQ
О Проекте
Обратная связь
Отблагодарить
Rambler's Top100

Генератор случайных чисел выдает одно и тоже

Вопрос:
Я создал несколько экземпляров Random но они выдают одно и тоже
что делать?


Ответ:
Потому что генератор генерирует не абсолютно случайные числа, а так называемые «псевдослучайные», то есть последовательность чисел, каждое из которых определенным образом зависит от предыдущих), а самое первое задается (в данном случае) в конструкторе класса Random . Таким образом, если создать несколько генераторов с одним и тем же параметром, они будут выдавать одинаковые последовательности. Так как вы вызываете конструктор без параметров, то в качестве начального значения используется текущее время, которое не успевает измениться между последовательными вызовами. И после этого от каждой последовательности вы берете первое число, что и дает вам все одинаковые числа. Правильным вариантом в этом случае будет не создавать каждый раз новый генератор случайных чисел, а использовать один экземпляр для всей последовательности.

Предыдущая стр.    Оглавление    Следующая стр.
Средняя оценка: (2 - 1 голосов)
Для оценки необходимо зарегистрироваться


Только зарегистрировавшиеся пользователи могут оставлять комментарии



Практический обучающий видео-курс "Основы C#"

От профессионального
разработчика для начинающих
и опытных программистов!

Кликните, чтобы изучить
язык C# с нуля и научиться
писать программы под платформу .NET!