C# C语言中随机数问题的一种变体#

C# C语言中随机数问题的一种变体#,c#,random,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=新System.Random();
公共列表生日=新列表();
公共国际年;
公共房间(国际)
{
年份=y;
}
公共空隙填充(int j)
{
系统控制台写入线(x.Next(1年));
生日。加上(x.Next(1,年));
}
公共布尔检查(整数p、整数d、整数j)
{
对于(int q=0;q
将其传递给对象的构造函数

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

Check
在做什么?不要这样命名参数
p
d
j
只是令人困惑,而且不是自描述性的。为了获得额外的分数,请在所属类中将
Random
实例设为一个
静态只读
值,这样就不能将其重新分配给具有不同(或重置)种子值的新实例。谢谢,它正在工作。我不知道这是可能的!