【发布时间】:2014-06-14 15:39:56
【问题描述】:
随机对象是否总是包含种子,即使没有给定种子?如果可以,可以get这个种子吗?
动机: 我希望我的程序是随机的,但我希望能够随时重现它。我目前所做的是生成一个随机数,将其存储并将其作为种子放入我用于实际程序的另一个随机对象中。这样,如果我想复制任何东西,我就可以查找生成的种子。
我想知道 Java 和 C# 的这一点,因为它们是我的主要语言,这个问题让我在两种语言中工作过几次。
【问题讨论】:
-
您当前的方法是一个很好的方法。种子用于在 RNG 中生成更大的状态集 - 并且该状态通常不可见。
-
对于
.NET,网上资料(referencesource.microsoft.com/#mscorlib/system/…)显示它使用Environment.TickCount来初始化随机对象,但是没有办法取回值。