为什么我创建的随机函数只运行一次? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

感谢你们对我的帮助!

我在互联网上找到了一个随机函数,称为GetRandom。我把它放在下面

 public static double GetRandom(double[] array)
  {    
       Random ran = new Random();
    int n = ran.Next(array.Length);
    return array[n];
  }

 private void Window_Activated(object sender, System.EventArgs e)
    {   


        c1 = c-GetRandom(arr);
        c2 = c-GetRandom(arr);
......

    }

arr是一个双重arry,包含一些双打。 c1,c2,c3 ....都是双倍的。但是,似乎最后几行中的每个GetRandom(arr)都返回相同的结果。怎么样? GetRandom中的n在每次使用后都无法更新?

c# random
1个回答
0
投票

您需要通过在类范围中创建Random ran = new Random();来移动创建随机外部函数。

 Random ran = new Random();
 public static double GetRandom(double[] array, Random ran)
      {     
        int n = ran.Next(array.Length);
        return array[n];
      }

private void Window_Activated(object sender, System.EventArgs e)
    {   

        c1 = c-GetRandom(arr, ran);
        c2 = c-GetRandom(arr, ran);

    }
© www.soinside.com 2019 - 2024. All rights reserved.