我需要知道不同平台对System.Random
对象(Silverlight)的影响。在 Mac、PC 和 32 / 64 位上创建的序列是否相同?
问问题
169 次
2 回答
1
请原谅我的“愚蠢”回答,但在我看来,随机数应该始终被认为是随机的,因此在任何“域”中创建的序列都应该被处理为不同的。我知道 .NET(或 Silverlight)随机数生成器根据种子值使用伪随机算法,并且在使用相同的种子值时会生成相同的数列,但我不会依赖这个事实。
当您需要跨多个平台同步随机数时,您似乎有某种“期望”,并且使用随机数生成器生成期望值序列对我来说看起来很奇怪。
如果你能告诉我们更多关于你的用例,也许我们可以找到另一个更可靠的解决方案?
只是我的观点。
于 2010-05-25T12:43:48.683 回答
0
生成随机数的算法被编码到运行时。因此,无论平台如何,您都应该看到给定种子值的同一组“随机”数字。
(其中种子值基于时间)的默认构造函数的确切行为Random
可能因平台而异。例如,实例的快速创建Random
可能会创建一些生成相同序列的实例,这些“重复”的分布可能会因包括平台在内的各种条件而异。
于 2010-05-25T13:12:53.773 回答