Исключение типа "System.NullReferenceException" - C#
Формулировка задачи:
Добрый день. Помогите найти ошибку. Выскакивает исключение "System.NullReferenceException".
Класс Студента
Main
Ругается на этот метод.
Листинг программы
- namespace HomeTask06092016
- {
- class University
- {
- public University()
- {
- }
- //private List<Student> Students = new List<Student>();
- private List<Group> groups = new List<Group>();
- // Property for groups;
- public List<Group> Groups { get; set; }
- private List<Teacher> teachers = new List<Teacher>();
- // Property for teachers;
- public List<Teacher> Teachers { get; set; }
- private List<Subject> subjects = new List<Subject>();
- // Property for subjects;
- public List<Subject> Subjects { get; set; }
- public void AddStudent(Student s, int groupIndex)
- {
- groups[groupIndex].Students.Add(s);
- }
- public void AddGroup(Group g)
- {
- groups.Add(g);
- }
- public void AddSubject(Subject s)
- {
- subjects.Add(s);
- }
- public void AddTeacher(Teacher t)
- {
- teachers.Add(t);
- }
- public void RemoveGroup(int groupIndex)
- {
- groups[groupIndex].Students.Clear();
- groups.RemoveAt(groupIndex);
- }
- public void RemoveStudent(int groupIndex, int studentIndex)
- {
- groups[groupIndex].Students.Clear();
- groups[groupIndex].Students.RemoveAt(studentIndex);
- }
- public void RemoveTeacher(int teacherIndex)
- {
- teachers.RemoveAt(teacherIndex);
- }
- public void RemoveSubject(int subjectIndex)
- {
- subjects.RemoveAt(subjectIndex);
- }
- //public Student this[string groupName][string studentName]{}
- // Indexer;
- public Student this[string groupName, string studentName]
- {
- get
- {
- foreach (var g in groups)
- {
- if (g.Name == groupName)
- foreach (var s in g.Students)
- {
- if (s.Name == studentName)
- {
- return s;
- }
- }
- }
- return null;
- }
- set
- {
- for (int i = 0; i < groups.Count; i++)
- {
- if (groups[i].Name == groupName)
- {
- for (int j = 0; j < groups[i].Students.Count; j++)
- {
- if (groups[i].Students[j].Name == studentName)
- groups[i].Students[j] = value;
- }
- }
- }
- }
- }
- public string GroupOf(Student s) {
- foreach (var g in groups)
- {
- foreach (var st in g.Students)
- {
- if (s == st)
- return g.Name;
- }
- }
- return null;
- }
- }
- }
Листинг программы
- namespace HomeTask06092016
- {
- class Student
- {
- public string Name { set; get; }
- public override string ToString()
- {
- return Name;
- }
- private List<Subject> subjects = new List<Subject>();
- public List<Subject> Subjects { get; set; } // Property for subjects.
- }
- }
Листинг программы
- namespace HomeTask06092016
- {
- class Program
- {
- static void Main(string[] args)
- {
- /*
- University group = new University();
- University u = new University();
- //u.AddStudent(group);
- //u["Vasya"].Name = "Petya"; // проверка;
- Console.Read();*/
- University targetUnivercity = new University();
- Group f = new Group(),s = new Group();
- f.Name = "PST"; s.Name = "ELT";
- targetUnivercity.AddGroup(f);
- targetUnivercity.AddGroup(s);
- Student u = new Student(); Student i = new Student();
- u.Name = "Petr";
- i.Name = "Gucci Mane";
- Console.WriteLine(u.Name + " " + i.Name);
- targetUnivercity.AddStudent(u, 1);
- targetUnivercity.AddStudent(i,2);
- Console.WriteLine(targetUnivercity.GroupOf(i));
- Console.Read();
- }
- }
- }
Листинг программы
- public void AddStudent(Student s, int groupIndex)
- {
- groups[groupIndex].Students.Add(s);
- }
Решение задачи: «Исключение типа "System.NullReferenceException"»
textual
Листинг программы
- private List<Student> students = new List<Student>();
- public List<Student> Students { get; set; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д