StackOverflowException при добавление в list<> нового экземпляра - C#
Формулировка задачи:
Здравствуйте, уважаемы! Я начал изучать c# и вообще ООП сравнительно недавно...И вот наткнулся на такую проблему...есть код
Помогите пожалуйста советом...
namespace App { public partial class MainForm : Form { public MainForm() { InitializeComponent(); List <person> personList = new List<person>(); personList.Add(new person("Анна", "Петрова", 15)); //Здесь ругается при добавление возраста personList.Add(new person("Марат", "Сафин", 25)); personList.Sort(); } } public class person : IComparable { public person (string FirstName, string LastName, int age) { this.FirstName = FirstName; this.LastName = LastName; this.Age = age; } public person () { } public int CompareTo (Object obj) { if (obj == null) throw new ArgumentException("Object is not a Person");; person _person = (person) obj; return this.FirstName.CompareTo(_person.FirstName); } public string FirstName {get; set;} public string LastName {get; set;} public int Age { get {return Age;} set { //запустил по шагам, здесь почему-то происходит зацикливание, как следствие - StackOverflowException if ( value < 0 ) throw new Exception ("Возраст должен быть положительным!"); if ( value == 0 ) throw new Exception ("Возраст должен быть > 0!"); Age = value; } } } }
Решение задачи: «StackOverflowException при добавление в list<> нового экземпляра»
textual
Листинг программы
private int age; public int Age { get {return age;} set { //запустил по шагам, здесь почему-то происходит зацикливание, как следствие - StackOverflowException if ( value < 0 ) throw new Exception ("Возраст должен быть положительным!"); if ( value == 0 ) throw new Exception ("Возраст должен быть > 0!"); age = value; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д