0
点赞
收藏
分享

微信扫一扫

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


场景

在循环中使用

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的定义

C#在循环中使用Random时生成的随机数相同的解决办法_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);

}

 

举报

相关推荐

0 条评论