为什么是
var random = new Random(); random.Next(0 /* or any other positive value */, int.MaxValue);
random.Next(-1, int.MaxValue);
NET Framework(4.7.2)如何实现这些功能?他们不应该有同样的表现吗?
编辑:有没有可能范围在-1和-1之间整数最大值太大,所以必须在内部生成两个值?因为我看不到在-1和-1之间生成时的行为整数最大值-1
在参考maccettura推荐的源代码之后,如果范围是 >Int32.MaxValue 它使用性能较差的变体。
>Int32.MaxValue