Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Генерация случайных чисел


Автор: Remember 21.2.2010, 20:49
Всем здраствуйте!

Провожу моделирование случайных процессов. Для этого необходимо генерировать случайные числа, делаю я это так:
Код

class DoubleGenerator
{
        Random random;
        
        //Моделирования задержки при создании нового экземпляра класса Random
        private static void Wait(int value)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();
            while (sw.ElapsedMilliseconds < value)
            {

            }
        }
        
        private DoubleGenerator()
        {
            Wait(20);
            random = new Random(DateTime.Now.Millisecond);
        }
        
        //Пример использования класса
        public static double[] GeneratedResult(int number)
        {
            var result = new double[number];
            var rnd = new DoubleGenerator();

            for (var i = 0; i < number; i++ )
            {
                result[i] = rnd.Next();
            }

            return result;
        }
}


При вычислении зависимостей, в разное время получаю разные результаты. Не пойму почему это происходит.

В общем вопросы такие:
  • какие факторы влияют на генерацию случайных чисел?
  • какие я ошибки допустил при генерации, если допустил?

Кто что скажет про моделирование, может где это описано более подробно?

Автор: Pilger 22.2.2010, 13:13
Цитата(Remember @ 21.2.2010,  20:49)
какие факторы влияют на генерацию случайных чисел?

Процессор не умеет тыкать пальцем в небо. Случайное число он "высчитывает" и, насколько я помню, время и является ключевым фактором.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)