跨平台随机数发生器

Mr.*_*ith 13 c# random

当您需要能够从种子生成随机数时,并保证它在不同版本的.NET Framework和Mono Framework中是相同的数字,以及跨不同的体系结构(x86,x64),你是什么做?

我目前正在考虑在文件中存储数百万个随机字节,以用作此问题的临时解决方案,但我认为可能有更好的方法(希望不会太复杂).

Ree*_*sey 12

如果您需要真正的便携式实现,最好的选择可能就是使用自定义随机数生成器,例如Mersenne Twister实现Colin Green的快速随机数生成器.通过控制实现,您可以保证在任何平台上给定相同的种子时,您将获得相同的结果.

  • Colin Green 的“Xorshift RNG”实施似乎正是我所追求的,但我不确定其许可协议是什么。`GPL` 甚至 `LGPL` 与该项目不兼容。 (2认同)
  • @Mr.Smith 我会直接写信给他询问,但链接页面确实包含“本文已根据知识共享署名 3.0 许可证获得许可” (2认同)