Исключение типа "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; }