为什么随机类有两个构造函数?

时间:2011-10-30 22:43:59

标签: c# .net random

我对Random类构造函数提出了一个问题。有两个构造函数,一个带有种子参数,另一个没有种子。

使用没有种子的Random类(无参数构造函数)有哪些用例?我想不出任何情况......

2 个答案:

答案 0 :(得分:5)

Random将始终拥有种子。使用带有seed参数的构造函数的唯一方法是允许您使用自己的种子而不是为您生成的种子。如果您没有一种方便的方法来自己生成种子值,那么它将比生成的种子更“随机”(并且您不在需要使用特定种子价值),然后没有必要供应。

答案 1 :(得分:3)

如果将构造函数与种子一起使用,则每次使用相同的种子值将导致每次生成相同的数字序列。这对于测试预期的方案非常有用。

您可以使用默认构造函数(它将使用基于时间的种子)进行测试,以测试间歇性方案。