380 Stimmen

Erzeugen einer Zufallszahl in einem Bereich mit C#

Wie kann ich Zufallszahlen innerhalb eines Bereichs erzeugen?

10voto

Hier ist die aktualisierte Version von Antwort von Darrelk . Sie wird implementiert mit C#-Erweiterungsmethoden . Es tut keinen Speicher zuweisen ( new Random() ) jedes Mal, wenn diese Methode aufgerufen wird.

public static class RandomExtensionMethods
{
    public static double NextDoubleRange(this System.Random random, double minNumber, double maxNumber)
    {
        return random.NextDouble() * (maxNumber - minNumber) + minNumber;
    }
}

Verwendung (stellen Sie sicher, dass Sie den Namespace importieren, der die Klasse RandomExtensionMethods enthält):

var random = new System.Random();
double rx = random.NextDoubleRange(0.0, 1.0);
double ry = random.NextDoubleRange(0.0f, 1.0f);
double vx = random.NextDoubleRange(-0.005f, 0.005f);
double vy = random.NextDoubleRange(-0.005f, 0.005f);

5voto

Ohad Schneider Punkte 34748

Abgesehen von der Zufällige Klasse die ganze Zahlen und Doppelzahlen erzeugt, betrachten:

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X