jga*_*fin 4 .net random code-contracts
我已经安装了一个插件(Microsoft的Code Contract Editor Extensions),它显示了.NET的所有代码契约.
当我看合同Random.Next,它说 ensures result <= maxValue,而MSDN指出,包括maxValue是排斥的.合同不应该说ensures result < maxValue吗?
它不是唯一的,MSDN 并没有声明它是.嗯,好吧,它在谈到时确实使用了"独家"这个词,这个词maxValue不太清楚,但实际情况是,在绝大多数情况下,它确实是预期的排他性.
然而,有一些角落案例:具体的例子,Next(0)回报0; Next(4,4)回报4.它没有选项时是包容性的,这在MSDN的"返回值"部分中有记录:
引用来自Next(maxValue):
但是,如果maxValue等于零,则返回maxValue.
如果minValue等于maxValue,则返回minValue.
(当然也可以说" maxValue已退回")
因此,在这两种情况下,都可以maxValue返回.
唯一的例外是无参数Next(),它被严格记录< int.MaxValue.
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |