什么可以使用(Random.NextDouble()< 1)

时间:2012-10-23 12:07:57

标签: c# .net random mocking

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

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

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

你怎么看?你有没有找到这样的东西?

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

2 个答案:

答案 0 :(得分:3)

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

Random.NextDouble Method - MSDN

  

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

答案 1 :(得分:1)

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

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