• .net中使用随机函数


    原文:http://forum.byr.edu.cn/wForum/disparticle.php?boardName=dotNET&ID=980
    随机函数生成的随机数总是一个值,而单步跟踪的时候又能够出现随机的效果,一直很奇怪。代码大致如下所示:
                     for(int i=0;i<10;i++)
                     {
                           Random random=new Random();
                           int index=random.Next(10);
                     }
        .net的随机函数与随机数种子seed有关,也就是传给Random构造函数的参数。如上面代码所示,在构造Random 时采用了默认构造函数,系统就会使用当前系统时间作为随机数种子,然而计算机运行上述代码非常的快,系统时间没有发生变化,也就是说随机数种子不会变,这 样出来得随机数就是一样的了。
         解决这个问题的方法就是,每次循环要给Random构造函数传递一个不同的种子。网上给的比较简单的方法是,每次产生一个新的Guid对象,然后用它的散列值(每个Guid对象的散列值是不同的)作为构造函数的参数,如下所示:
                    for(int i=0;i<10;i++)
                     {
                           Random random=new Random(Guid.NewGuid().GetHashCode());
                           int index=random.Next(10);
                     }
  • 相关阅读:
    出现错误:代理服务器拒绝连接的解决方法
    ansible之模块 条件判断
    软件相关模块与ansible剧本
    ansible的应用
    Celery -----异步任务,定时任务,周期任务
    SQLAlchemy增删改查 一对多 多对多
    python是如何进行内存管理的?
    Django的模板层(1)
    1.Git安装
    6.case
  • 原文地址:https://www.cnblogs.com/bayonetxxx/p/1635740.html
Copyright © 2020-2023  润新知