C#中随机数问题的变体

  • 本文关键字:问题 随机数 c# random
  • 更新时间 :
  • 英文 :


我正在开发一个程序,该程序创建了属于我创建的类的对象的大量实例。这些对象中的每一个都应该包含一个随机数列表,我希望每个对象都有一个不同的随机列表。目前,我在类的定义中创建了随机数的种子(见下文),因此我在每个对象中都得到了相同的列表。

我了解随机数生成是如何工作的(并且已经阅读了很多关于类似问题的其他答案),所以我知道问题是种子都是在时间上创建得太近了。然而,我不知道如何创建一个静态种子,每次使用此类对象时都会使用它。当我实例化一个新对象时,有没有一种方法可以使用静态随机数种子作为参数?或者有更好的解决方案吗?

谢谢。

public class Room
{
static System.Random x = new System.Random();
public List<int> birthdays = new List<int>();
public int year;
public Room(int y)
{
year = y;
}

public void Fill(int j)
{
System.Console.WriteLine(x.Next(1, year));
birthdays.Add(x.Next(1, year));
}
public bool Check(int p, int d, int j)
{
for (int q = 0; q < j; q++)
{
int total = 0;
for (int y = 0; y < j; y++)
{
if (birthdays[y] - birthdays[q] <= d) { total += 1; };
if (total >= p)
{ return true; }
}
}
return false;

}
}

将其传递到对象的构造函数中。

System.Random x;
public Room(int y, System.Random rnd)
{
x= rnd;
year = y;
}

最新更新