From f501dc1897a993b27adeca9a016a8bc881a0e738 Mon Sep 17 00:00:00 2001 From: js6pak Date: Tue, 14 Dec 2021 22:40:12 +0100 Subject: [PATCH] RandomExtensions --- Reactor/Extensions/RandomExtensions.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Reactor/Extensions/RandomExtensions.cs diff --git a/Reactor/Extensions/RandomExtensions.cs b/Reactor/Extensions/RandomExtensions.cs new file mode 100644 index 0000000..fb2a587 --- /dev/null +++ b/Reactor/Extensions/RandomExtensions.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Reactor.Extensions; + +public static class RandomExtensions +{ + /// + /// Returns random from using + /// + public static T? Random(this IEnumerable input, Random random) + { + var list = input as IList ?? input.ToList(); + return list.Count == 0 ? default : list[random.Next(0, list.Count)]; + } + + /// Returns a random double that is within a specified range. + public static double NextDouble(this Random random, double minValue, double maxValue) + { + return random.NextDouble() * (maxValue - minValue) + minValue; + } +}