gpt4 book ai didi

c# - 为什么用未检查的(Environment.TickCount * 31)初始化一个新的Random()?

转载 作者:太空狗 更新时间:2023-10-30 00:38:47 24 4
gpt4 key购买 nike

我发现了一个 Random 实例的初始化:

var random = new Random(unchecked(Environment.TickCount * 31));

为什么不简单地使用 new Random()

最佳答案

关键字unchecked防止在计算Environment.TickCount * 31整数溢出时抛出异常。

计算结果本质上是一个随机整数(它丢弃了一堆高阶位),用于为随机数生成器提供种子。

请注意 Reference Source for Random将此代码作为其无参数构造函数:

public Random() 
: this(Environment.TickCount) {
}

关于c# - 为什么用未检查的(Environment.TickCount * 31)初始化一个新的Random()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38507265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com