Есть класс Студент, у которого поля стандартные(ФИО) и студента скиллы, оформленный как массив.
class Student {
string[] _Skills;
string _FirstName, _SecondName;
public string FirstName {
get { return _FirstName; }
set { value = _FirstName; }
}
public string SecondName {
get { return _SecondName; }
set { value = _SecondName; }
}
public string[] Skills {
get { return _Skills; }
set { value = _Skills; }
}
public void AddSkill(string skill) {
Array.Resize(ref _Skills, this.Skills.Length + 1);
this.Skills[this.Skills.Length - 1] = skill;
}
public void CheckSkill(string skill) {
}
public void Display() {
Console.WriteLine(this.FirstName + " " + this.SecondName + " ");
}
public Student(string firstName, string secondName, string[] skills) {
this.FirstName = firstName;
this.SecondName = secondName;
this.Skills = skills;
}
}
Потом я инициализирую объекты и вызываю две функции:
var students = new[] {
new Student("Anton", "Antonov", new[] {"atletic" }),
new Student("Bogdan", "Bogdanov", new[] { "mathematic", "adaptive", "liar"}),
new Student("Ivan", "Ivanov", new[]{"educable", "quickly finds solutions"}),
};
students[2].AddSkill("clever");
students[2].Display();
И такой вот вопрос, почему выводит в консолье ошибку, что ссылка на объект не указывает на экзмепляр класса.
И второе что меня интересует, это то что при вызове Display() - выводит пустую строку.
Почему так происходит? Спасибо!