7

我需要向分布式应用程序网络发送相同的随机数序列。

由于这样的序列可能很长,我正在考虑只发送一个(随机生成的)集中种子初始化编号和所需序列的长度。

鉴于接收方的每个组件都将使用相同的 .NET 版本,在我的所有节点上生成相同的随机数据是否是一个可行的解决方案?

4

2 回答 2

10

假设您在所有环境中使用相同版本的 .NET,您应该能够为 Random(int seed) 分发种子并重新创建相同的序列。

关于 System.Random @ MSDN 的评论

调用者注意事项Random 类中随机数生成器的实现不能保证在 .NET Framework 的主要版本中保持相同。因此,您的应用程序代码不应假定相同的种子会在不同版本的 .NET Framework 中产生相同的伪随机序列。

如果您可以看到框架版本会更改的情况,或者您可能需要在开始使用新版本后重新创建旧序列,那么您将需要创建自己的随机实现。

请参阅此问题的答案以获取指针:Crossplatform random number generator

于 2013-06-26T12:07:23.080 回答
1

您可以使用Random带有种子的类或使用面向服务的体系结构。

Random当用种子初始化时将产生相同的序列。

于 2013-06-26T12:00:34.923 回答