为什么在未选中(Environment.TickCount*31)的情况下初始化新的Random()
本文关键字:情况下 初始化 Random TickCount 为什么 Environment | 更新日期: 2023-09-27 17:58:08
我发现了Random
实例的初始化:
var random = new Random(unchecked(Environment.TickCount * 31));
为什么不简单地使用new Random()
?
关键字unchecked
防止在计算Environment.TickCount * 31
整数溢出时引发异常。
由此产生的计算本质上是一个随机整数(它丢弃了一堆高阶比特),用于为随机数生成器种子。
请注意,随机参考源有以下代码作为其无参数构造函数:
public Random()
: this(Environment.TickCount) {
}