代码之家  ›  专栏  ›  技术社区  ›  D.R.

在.NET中生成伪随机值的性能

  •  0
  • D.R.  · 技术社区  · 7 年前

    为什么是

    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

    1 回复  |  直到 7 年前
        1
  •  0
  •   D.R.    7 年前

    在参考maccettura推荐的源代码之后,如果范围是 >Int32.MaxValue 它使用性能较差的变体。

    推荐文章