Метод NextDouble
NextDouble не принимает аргументов.
Результат всегда удовлетворяет условию
res >= 0 && res < 1. Чтобы
получить интервал [min, max), значение
масштабируют вручную. Для float есть
NextSingle.
Синтаксис
double value = rand.NextDouble();
Пример
Давайте проверим диапазон у NextDouble:
using System;
class Program
{
static void Main()
{
double res = Random.Shared.NextDouble();
Console.WriteLine(res >= 0 && res < 1);
}
}
Результат выполнения кода:
True
Пример
Давайте вызовем NextDouble у экземпляра
с зерном:
using System;
class Program
{
static void Main()
{
var rand = new Random(1);
double res = rand.NextDouble();
Console.WriteLine(res >= 0 && res < 1);
}
}
Результат выполнения кода:
True
Пример
Давайте два раза подряд проверим границы:
using System;
class Program
{
static void Main()
{
var rand = new Random(1);
double left = rand.NextDouble();
double right = rand.NextDouble();
bool res = left >= 0 && left < 1
&& right >= 0 && right < 1;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
NextSingle,
версия дляfloat -
метод
Next,
который возвращает целое -
Random.Shared,
через который вызываютNextDouble -
Random,
класс генератора