Я работаю над программой, которая создает большое количество экземпляров объекта, принадлежащего классу, который я создал. Каждый из этих объектов должен содержать список случайных чисел, и мне нужен другой случайный список для каждого объекта. В настоящее время я создаю семя для случайных чисел внутри определения класса (см. Ниже), и, следовательно, я получаю один и тот же список в каждом объекте.Вариант проблем со случайными числами в C#
Я понимаю, как работает генерация случайных чисел (и прочитали много других ответов о похожих проблемах), поэтому я знаю, что проблема в том, что семена создаются слишком близко к времени. Однако я не знаю, как создать одно статическое семя, которое будет использоваться каждый раз, когда я использую объект этого класса. Есть ли способ использовать статическое число случайных чисел в качестве аргумента, когда я создаю экземпляр нового объекта? Или есть лучшее решение?
Спасибо.
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;
}
}
Что такое '' проверка'? не называйте такие параметры. 'p',' d', 'j' просто путают и не являются самоописательными. –