Random rand = new Random(10);
Console.WriteLine(rand.Next(100));
这几行代码总是给出95作为输出。当我在第一行“8”中创建构造函数的参数值时,代码总是给出90作为输出。任何人都能指出我为什么会这样吗?
P.S:我猜这与参数值对Random
类对象的作用有关,但对这种行为的具体见解将受到高度赞赏。
答案 0 :(得分:4)
您正在使用相同的种子值创建Next
实例。当Random
被调用时,它将返回相同的结果。这是设计的。
为不同的
来自Random Constructor (Int32) 的example.new()
对象提供相同的种子值会导致每个实例生成相同的随机数序列。
使用无参数构造函数来获取基于时间的值的实例。
默认种子值是从系统时钟导出的,具有有限的分辨率......
来自Random Constructor () 的