Я начинаю на C# и в настоящее время изучаю все о коллекциях List и т. Д. Мне интересно, как/почему код ниже работает:Созданы классы с тем же именем. Как это работает?
создать список студентов:
// Create student list
List<Student> ListStudents = new List<Student>();
Я использую событие WPF Нажмите кнопку, чтобы добавить новый студент (класс) к этому списку (данные собраны из нескольких текстовых полей):
private void btnCreateStudent_Click(object sender, RoutedEventArgs e)
{
Student student = new Student();
student.FirstName = txtFirstName.Text;
student.LastName = txtLastName.Text;
student.City = txtCity.Text;
// Add student to list
ListStudents.Add(student);
}
Теперь все это работает отлично, и я могу перебирать список «ListStudents» и увидеть все имена, я добавляю. Однако мне интересно, как именно это не вызывает некоторые ошибки, так как мой код несколько раз создает класс ученика с именем «студент» каждый раз, когда я нажимаю кнопку. Могут быть 20 классов, все названные «студент», но все их уникальные данные сохраняются в ListStudents. Все они находятся в одном пространстве имен.
Простите меня за то, что я новичок, но я очень заинтригован этим. Я понимаю, что классы являются ссылочными типами, поэтому класс «ученик» указывает на блок памяти с соответствующей информацией. В этом случае каждый индекс ListStudents указывает на этот блок памяти, но мой класс с именем «студент» указывает только на одно местоположение, которое является местоположением самого недавно созданного Студента?
Является ли моя реализация выше хорошей практики?
Большое спасибо.
Ваша реализация в порядке. –