Случайная функция в C # - PullRequest
       1

Случайная функция в C #

2 голосов
/ 18 ноября 2010

Каков наилучший способ выбрать случайное число между двумя числами в C #?

Например, если у меня низкое значение 23 и высокое значение 9999, каким будет правильный кодвыбрать случайное число между этими двумя числами?Заранее спасибо

Ответы [ 2 ]

12 голосов
/ 18 ноября 2010

Используйте класс Random следующим образом:

Random rnd = new Random(); 
rnd.Next(23, 10000);

Убедитесь, что вы только один раз инициализируете свой rnd-объект, чтобы он действительно генерировал для вас случайные значения.

Если вы сделаете этот цикл, например:

for( int i = 0 ; i < 10; i++ ){
  Random rnd = new Random();
  var temp = rnd.Next(23, 10000);
}

temp будет одинаковым каждый раз, так как для генерации rnd-объекта используется одно и то же семя, но вот так:

Random rnd = new Random();
for( int i = 0 ; i < 10; i++ ){
  var temp = rnd.Next(23, 10000);
}

Он сгенерирует 10 уникальных случайных чисел (но, разумеется, два или более числа в любом случае могут быть равны)

7 голосов
/ 18 ноября 2010

Это зависит от того, ищете ли вы целое или двойное число.Для целого числа используйте Random.Next (minValue, maxValue) :

Возвращает случайное число в указанном диапазоне.

Обратите внимание, что minValueвключительно, но maxValue является эксклюзивным.

Не существует эквивалентного метода для выбора случайного двойного в указанном диапазоне.Вместо этого вы должны использовать метод NextDouble , чтобы выбрать случайное число от 0,0 до 1,0, а затем использовать линейное преобразование для расширения, уменьшения и / или преобразования диапазона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...