我需要一个C#
所以,我知道这并不重要,但以下代码是否和我想的一样好用(我无法进行随机性试错),或者可能与使用
Random
类实例的种子,我读到大多数人使用当前时间的滴答计数器作为种子。但那是一个64位值,而种子需要是32位值。我认为GetHashCode()
方法应该为其对象提供一个合理分布的值,因此可以使用它来避免仅使用滴答计数器的低32位。然而,我找不到Int64
数据类型的GetHashCode()的任何信息。所以,我知道这并不重要,但以下代码是否和我想的一样好用(我无法进行随机性试错),或者可能与使用
(int)DateTime.Now.Ticks
相同?或者甚至更糟糕?谁可以给出一些启示。int seed = unchecked(DateTime.Now.Ticks.GetHashCode());
Random r = new Random(seed);
编辑:为什么我需要一个种子,而不是让Random()
构造函数来完成工作?我需要将种子发送给使用相同种子生成相同随机序列的其他客户端。