Вопрос

Мне нужно знать эффект разных платформ на System.Random объект (Silverlight). Это последовательность создана то же самое на Mac, PC и через 32/64 бита?

Это было полезно?

Решение

Алгоритм генерирования случайных чисел кодируется во время выполнения. Следовательно, независимо от платформы, вы должны увидеть тот же набор «случайных» чисел для данного значения семян.

Вызг поведения конструктора по умолчанию для Random (где значение семян на основе времени) может немного отличаться от платформы на платформу. Например быстрое создание экземпляров Random может создать некоторые примеры, которые генерируют ту же последовательность, распределение этих «дубли» может варьироваться в зависимости от всех видов заболеваний, включая платформу.

Другие советы

Извините мой «глупый» ответ, но на мой взгляд, случайные числа должны всегда рассматриваться случайный И, таким образом, созданные последовательности должны обрабатываться как не только в каком-либо «домене». Я знаю, что генераторы случайных чисел .NET (или Silverlight) используют псевдослучайное алгоритм в зависимости от значения семян и создадут одну и ту же порядковую последовательность при использовании того же значения семян, но я просто не полагаюсь на этот факт.

Похоже, у вас есть какие-то «ожидание», когда вам нужно иметь случайные числа, синхронизированные по нескольким платформам, и использование генератора случайных чисел для ожидаемых ценностей выглядит странно для меня.

Если вы можете рассказать нам больше о вашем случае использования, возможно, мы сможем найти еще одно твердое решение?

Только мое мнение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top