我需要知道不同平台对 System.Random 对象(Silverlight)。该序列在Mac,PC和32/64位上是否相同?

有帮助吗?

解决方案

生成随机数的算法编码为运行时。因此,无论平台如何,您都应该看到给定种子价值的相同的“随机”数字。

默认构造函数的扩展行为 Random (种子价值基于时间)可能因平台而异。例如快速创建实例 Random 可能会创建一些生成相同序列的实例,这些“重复”的分布在包括平台在内的各种条件上可能有所不同。

其他提示

请原谅我的“愚蠢”答案,但在我看来,应始终考虑随机数 随机的 因此,在任何“域”中,应将创建的序列处理不相同。我知道.NET(或Silverlight)随机数生成器根据种子值使用伪随机算法,并且在使用相同的种子值时会生成相同的数字序列,但我只是不依赖这个事实。

当您需要在几个平台上同步随机数时,并且使用随机数生成器对期望值序列对我来说似乎很奇怪时,您似乎会有某种“期望”。

如果您可以告诉我们有关您的用例的更多信息,也许我们可以找到另一个更可靠的解决方案?

只是我的观点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top