我发现了Random
实例的初始化:
var random = new Random(unchecked(Environment.TickCount * 31));
为什么不简单地使用new Random()
?
答案 0 :(得分:7)
关键字unchecked
可防止在计算Environment.TickCount * 31
整数溢出时抛出异常。
结果计算本质上是一个随机整数(抛出一堆高位),用于为随机数生成器播种。
请注意Reference Source for Random将此代码作为其无参数构造函数:
public Random()
: this(Environment.TickCount) {
}