我需要向分布式应用程序网络发送相同的随机数序列。
由于这样的序列可能很长,我在考虑只发送一个(随机生成的)集中种子初始化数和所需序列的长度。
鉴于接收手上的每个组件都将使用相同的.NET版本,那么在我的所有节点上生成相同的随机数据是否可行?
答案 0 :(得分:9)
您应该能够为Random(int种子)分发种子并重新创建相同的序列,假设您在所有环境中使用相同版本的.NET。
Remarks on System.Random @ MSDN
来电者须知中随机数发生器的实现 不保证Random类在主要版本中保持不变 .NET Framework的版本。因此,您的应用程序代码 不应该假设相同的种子会产生相同的结果 不同版本的.NET Framework中的伪随机序列。
如果您可以看到框架版本将发生变化的情况,或者您可能需要在开始使用新版本后重新创建旧序列,则需要创建自己的随机实现。
请参阅此问题的答案以获取指示:Crossplatform random number generator
答案 1 :(得分:1)
您可以将Random
类与种子一起使用,也可以使用面向服务的体系结构。
Random
将产生相同的序列。