C # Почему запуск генератора случайных чисел останавливает мою программу? - PullRequest
0 голосов
/ 01 марта 2012

Таким образом, я объявляю генератор случайных чисел в одном из моих классов, как этот

static Random random = new Random(DateTime.Now.Millisecond);

, и при вызове функции в классе, даже когда эта функция была пустой, казалось, что она блокирует выполнение всей программы.

static Random random = new Random();

Но когда я это сделал, все заработало как надо?

РЕДАКТИРОВАТЬ с кодом:

Эта программа специально для XNA Game, так что вот функция обновления

protected override void Update(GameTime gameTime)
{
    Debug.WriteLine("This happenens");
    EnemyController.generateEnemies();
    Debug.WriteLine("This does not");
}

А вот и часть другого класса

public static class EnemyController
{
    static Random random = new Random(DateTime.Now.Millisecond);

    public static void generateEnemies()
    {
        Debug.writeLine("This code wont run");
    }
}

1 Ответ

3 голосов
/ 01 марта 2012

Как указано в документации MSDN для System.Random для конструктора без параметров:

Инициализирует новый экземпляр класса Random, используя зависящее от времени начальное значение по умолчанию.

Если ваш экземпляр Random на самом деле блокирует ваш код, то знайте, что вам не нужно начинать его со временем.Однако я бы посмотрел на другие возможности для блокировки вашего кода.

...