Методы расширения для генерации случайных чисел двойной дочности в C#

В этом примере добавляются методы расширения класса Random для генерации двойных значений в указанном диапазоне.

Класс Random предоставляет методы для генерации псевдослучайных чисел. Метод Next имеет три перегруженные версии, которые производят неотрицательное целое число, целое число от 0 до некоторой верхней границы и целое число между нижней и верхней границами.

Странно, что метод NextDouble класса Random имеет только одну версию, которая возвращает значение между 0.0 и 1.0. Этот пример добавляет две другие очевидные версии для создания двойных значений между 0.0 и верхней границей и между двумя границами.

Следующий код показывает класс RandomExtensions, который реализует методы расширения.

Здесь нет больших ухищрений. Первый метод использует исходный метод NextDouble для получения значения между 0.0 и 1.0. Он умножает это на верхнюю границу, чтобы получить значение между 0.0 и верхней границей и возвращает результат.

Второй метод также использует исходный метод NextDouble для получения значения между 0.0 и 1.0. Он умножает это на (max — min) и добавляет это к нижней границе. Поскольку генератор случайных чисел дает значение между 0.0 и 1.0, результат между:

и

Значение находится между min и max по желанию, поэтому метод возвращает его.

Источник: csharphelper.com/blog/2017/07/make-extension-methods-to-generate-random-double-values-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 5,00 из 5)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *