The Random class provides three overloaded versions of its Next method; one that returns a random integer, one that returns an integer between zero and an upper limit, and one that returns an integer between lower and upper limits.
Strangely, the Random class provides only one version of its NextDouble method. That version returns a double value between 0.0 and 1.0.
Add a NextDouble extension method to the Random class to return a random double value between lower and upper bounds.