Feedback

C# - Zufälliges Double

Veröffentlicht von am 25.01.2013
(0 Bewertungen)
2 zusätzliche Überschreibungen für Random.NextDouble() um einfacher eine Zahl zwischen 2 Werten zu ermitteln.
GFU-Schulungen  [Anzeige]

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

        /// <summary>
        /// Gibt eine Zufallszahl zwischen 0 und max zurück.
        /// </summary>
        /// <param name="rnd">Das zu verwendende System.Random-Objekt.</param>
        /// <param name="maxValue">Der Maximalwert der Zufallszahl.</param>
        /// <returns>Eine zufällige Zahl zwischen 0 und max.</returns>
        public static double NextDouble(this Random rnd, double maxValue)
        {
            if (0 > maxValue)
                throw new ArgumentOutOfRangeException("maxValue");
            return rnd.NextDouble() * maxValue;
        }
        /// <summary>
        /// Gibt eine Zufallszahl zwischen min und max zurück.
        /// </summary>
        /// <param name="rnd">Das zu verwendende System.Random-Objekt.</param>
        /// <param name="minValue">Der Minimalwert der Zufallszahl.</param>
        /// <param name="maxValue">Der Maximalwert der Zufallszahl.</param>
        /// <returns>Eine zufällige Zahl zwischen min und max.</returns>
        public static double NextDouble(this Random rnd, double minValue, double maxValue)
        {
            if (minValue > maxValue)
                throw new ArgumentOutOfRangeException("maxValue");
            return (rnd.NextDouble() * (maxValue - minValue) + minValue);
        }
Abgelegt unter Random, Double, Zufall, Minimum, Maximum.

2 Kommentare zum Snippet

Gwinn schrieb am 30.01.2013:
Hi Koopakiller,

hast du den Code eigentlich einmal getestet. Die zweite Funktion macht nämlich keineswegs das, was sie soll.
Korrekt wäre:

public static double NextDouble(this Random rnd, double minValue, double maxValue)
{
if (minValue > maxValue)
throw new ArgumentOutOfRangeException("maxValue");
return (rnd.NextDouble() * (maxValue - minValue)+minValue);
}


Gruß Gwinn
Koopakiller schrieb am 02.02.2013:
Danke für den Hinweis :)
Ich weiß nicht wie mir der Fehler unterlaufen konnte....
Werde es gleich korrigieren

PS: Die 1. Methode habe ich glaube getestet, die 2. nicht :(
 

Logge dich ein, um hier zu kommentieren!