Code läuft nur dann richtig, wenn Sie ihn mit dem Debugger durchgehen? [Duplikat]

Mögliche Duplikate:
Zufallszahlengenerator, der nur eine Zufallszahl generiert

Ich war vor ein paar Augenblicken ein bisschen verblüfft. Ich habe folgenden Code:

public blockType generateRandomBlock()
{
    Random random = new Random();
    int makeBlockOfType = random.Next(0, 100);

    blockType t = blockType.normal;
    if (makeBlockOfType <= 80 && makeBlockOfType >= 60)
    {
        t = blockType.blue;
    }
    else if (makeBlockOfType > 80 && makeBlockOfType <= 95)
    {
        t = blockType.orange;
    }
    else if (makeBlockOfType > 95 && makeBlockOfType <= 100)
    {
        t = blockType.green;
    }

    return t;
}

Ziemlich einfach, es gibt eineenum Wert basierend auf einer zufällig generierten Zahl (basierend auf der Systemzeit). Leider habe ich aus irgendeinem Grund alle Blöcke, entweder die eine oder die andere Farbe, obwohl dies für jeden einzelnen Block ausgeführt wird, der ins Spiel kommt. Wenn ich dies jedoch mit dem Debugger durchführe und dann nach einer Weile die Ergebnisse sehe, sehe ich, dass die Blöcke jetzt, basierend auf den zur Verfügung gestellten Möglichkeiten, mehrfarbig sind. Ich bin ein bisschen verwirrt darüber, warum dies geschieht.

Hierfür verwende ich MonoGame, das den Mono-Compiler anstelle des Microsoft-Compilers verwendet. Könnte dies das Problem sein? Ich habe versucht, diesen Code in den Konstruktor einzufügen, von dem aus er aufgerufen wird, aber ich erhalte das gleiche Ergebnis (ich vermute, dass der Compiler den Code trotzdem einfügt).

Ich habe versucht, Visual Studio separat neu zu starten, anstatt den Build vom Run ausführen zu lassen. keine Änderungen.

Anregungen und Hilfe sind sehr dankbar!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage