2

我在几个应用程序中看到我支持以下句子:

Random rnd = new Random();
if (rnd.NextDouble() < 1)
{
    ' Do stuff
}

这样做的目的是什么?rnd 将始终返回一个低于 1 的值。我唯一能想到的是,如果您模拟 Random,那么您将能够停用代码的某些部分。

你怎么看?你发现过这样的事情吗?

编辑:问题是这些句子位于不同但相关的代码部分,并且始终涵盖整个功能。这就是为什么我倾向于认为这是故意编码的。并且代码似乎具有一定程度的质量,这是一个错误,如果提供所有其他代码,我会感到惊讶。

4

2 回答 2

3

我不确定,但不需要此检查。rnd.NextDouble将始终在 0.0 到 1.0 的范围内返回。

Random.NextDouble 方法 - MSDN

大于或等于 0.0 且小于 1.0的双精度浮点数。

于 2012-10-23T12:11:50.317 回答
1

假设Random问题确实是System.Random,我看不出有任何功能性原因。

我所能推测的是,也许作者想要一个代码块,他们可以轻松地(在调试/开发时)有条件地(通过更改1to 0)或仅在某些时候(通过将 更改为 and 之间的某个1值)运行。但实际上,这不是一个众所周知的成语,所以你必须问写它的人,因此我投票结束,因为过于本地化。01

于 2012-10-23T12:31:20.783 回答