Я хочу сгенерировать идентификатор пользователя начиная с 1000, увеличивая на единицу для каждого пользователя (1000, 1001, 1002 и т. Д.). Похоже, что ни одно место для семенной случайной инструкции не засевает ее ... (либо в конструкторе, либо в основном). Почему моя случайная заявка не инициализируется с 1000 семян правильно в следующем коде?случайная проблема посева и, вероятно, проблема с конструктором
public class Student
{
public string FullName { get; set; }
public int StudentID { get; set; }
//constructor to initialize FullName and StudentID
public Student(string name, int ID)
{
FullName = name;
Random rnd = new Random();
StudentID = rnd.Next(1000, 1050); // creates a number greater than 1000
return;
}
public override string ToString()
{
return string.Format("ID: {0}\n Name: {1}", StudentID, FullName);
}
}
public class StudentTest
{
static void Main(string[] args)
{
Student student1 = new Student("Amy Lee", 1000);
Student student2 = new Student("John Williams", 1001);
Console.WriteLine(student1);
Console.WriteLine(student2);
Console.WriteLine("\nPress any key to exit program");
Console.ReadKey();
}
}
Все, что вы делаете настройки 'свойство StudentID' случайного значения между 1000 и 1050 с использованием экземпляра Random, который посеянный в текущее время (поведение конструктора по умолчанию). Конструктор принимает параметр «ID», но вы ничего не делаете с ним. Мне непонятно, каковы ваши ожидания. – vcsjones