首页 > Windows开发 > 详细

C#在循环中使用Random时生成的随机数相同的解决办法

时间:2019-11-12 13:31:04      阅读:142      评论:0      收藏:0      [点我收藏+]

场景

在循环中使用

Random y = new Random();

 

生成随机数时每次循环生成的数是一样的。

for (int i = 1; i < 20000;i++ )
            {
                Random y = new Random();
                PointPairList list1 = new PointPairList();

                for (int j = 0; j < 50; j++)
                {
                    double x = j;
                    double y1 = y.NextDouble() * 1000;
                    list1.Add(x, y1); //添加一组数据

                }

                LineItem myCurve = myPane.AddCurve("曲线"+i, list1, Color.Red, SymbolType.None);
               
            }

 

想要每次循环生成不一样的随机数。

实现

可以查看Random的定义

技术分享图片

 

 

技术分享图片

除了使用默认的Random()构造方法,还可以使用指定的种子值初始化 System.Random 类的新实例。

for (int i = 1; i < 20000;i++ )
            {
                Random y = new Random(Guid.NewGuid().GetHashCode());
                PointPairList list1 = new PointPairList();

                for (int j = 0; j < 50; j++)
                {
                    double x = j;
                    double y1 = y.NextDouble() * 1000;
                    list1.Add(x, y1); //添加一组数据

                }

                LineItem myCurve = myPane.AddCurve("曲线"+i, list1, Color.Red, SymbolType.None);
               
            }

 

C#在循环中使用Random时生成的随机数相同的解决办法

原文:https://www.cnblogs.com/badaoliumangqizhi/p/11840712.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!