我在几个应用程序中看到我支持以下句子:
Random rnd = new Random();
if (rnd.NextDouble() < 1)
{
' Do stuff
}
这可能是什么目的? rnd将始终返回低于1的值。我唯一能想到的是,如果你模拟Random,那么你将能够停用代码的某些部分。
你怎么看?你有没有找到这样的东西?编辑:问题是这些句子位于代码的不同但相关的部分,并且始终涵盖整个功能。这就是为什么我倾向于认为那是故意编码的原因。并且代码似乎具有一定程度的质量,这是一个错误,我会惊讶地提供所有其他代码。
答案 0 :(得分:3)
我不确定,但不需要此检查。 rnd.NextDouble
将始终返回范围内
0.0到1.0。
Random.NextDouble Method - MSDN
大于或等于0.0的双精度浮点数, 小于1.0 。
答案 1 :(得分:1)
假设有问题的Random
确实是System.Random
,我看不出有任何功能原因。
所有我可以推测的是,作者可能想要一个代码块,他们可以轻松地(在调试/开发时)有条件地运行(通过将1
更改为0
)或仅在某些时候运行(将1
更改为0
和1
之间的某个值。但实际上,这不是一个众所周知的习语,所以你不得不问那个写作的人,因此我的投票结束太过本地化。