Исключение типа "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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д