Чтение ввода пользователя внутри метода установки - ужасная идея.Вы должны прочитать ввод за пределами значения установщика и , прежде чем печатать его .Установщик должен содержать не более логики, которая фактически устанавливает значение вашего свойства или вычисляет что-то, но это должно быть написано максимально простым способом.
При этом в вашем коде неправильно то, чтона самом деле вы просто печатаете возраст учащегося в Console.WriteLine(student.Age);
, который даже не вызывает метод установки вашего свойства Age
, который, в свою очередь, вообще не вызывает Console.ReadLine()
для чтения ввода пользователя.
Для свойства Age
вы должны выполнить следующие действия:
public int Age { get; set; }
И для операций ввода-вывода (возможно, внутри метода Main () вашей программы):
string age1 = Console.ReadLine();
try
{
student.Age = int.Parse(age1);
if (student.Age < 0 || student.Age > 100)
Console.WriteLine("Please enter a valid age!");
else
Console.WriteLine($"Age: {student.Age} ");
}
catch (FormatException)
{
Console.WriteLine("Invalid number entered.");
}