Не выводиться на экран результаты - C#
Формулировка задачи:
using System; namespace ConsoleApplication1 { /// <summary> /// Класс, предназначенный для хранения персональных данных /// </summary> public class Person { private string _name; // закрытое поле типа string, в котором хранится имя private string _surname; // закрытое поле типа string, в котором хранится фамилия private DateTime _birth; // закрытое поле типа DateTime для даты рождения /// <summary> /// Конструктор с тремя параметрами для инициализации всех полей класса /// </summary> /// <param name="name">Имя</param> /// <param name="surname">Фамилия</param> /// <param name="birth">Дата рождения</param> public Person(string name, string surname, DateTime birth) { _name = name; _surname = surname; _birth = birth; } /// <summary> /// Конструктор без параметров, инициализирующий все поля класса /// некоторыми значениями по умолчанию. /// Используется ссылка на конструктор с параметрами this(параметры). /// </summary> public Person() : this("UnknounName", "UnknownSurname", DateTime.Now) { } /*/// <summary> /// Конструктор без параметров, инициализирующий все поля класса /// можно реализовать без ссылки на конструктор с параметрами. /// Результаты будут идентичны /// </summary> public Person() { _name = "UnknounName"; _surname = "UnknownSurname"; _birth = DateTime.Now; }*/ /// <summary> /// Свойство типа DateTime для доступа к полю с датой рождения /// </summary> public DateTime Birth { get { return _birth; } set { _birth = value; } } /// <summary> /// Свойство типа string для доступа к полю с именем /// </summary> public string Name { get { return _name; } set { _name = value; } } /// <summary> /// Свойство типа string для доступа к полю с фамилией /// </summary> public string Surname { get { return _surname; } set { _surname = value; } } /// <summary> /// Свойство типа int c методами get и set /// для получения информации (get) и изменения (set) года рождения /// в закрытом поле типа DateTime, в котором хранится дата рождения /// </summary> public int Year { get { return _birth.Year; } set { // т.к. свойство Year в переменных типа DateTime только на чтение, // изменяем год рождения, создавая дату заново, указывая вместо года value _birth = new DateTime(value, _birth.Month, _birth.Day); } } /// <summary> /// Перегруженная версия виртуального метода string ToString() /// для формирования строки со значениями всех полей класса /// </summary> /// <returns>Отформатированная строка</returns> public override string ToString() { return String.Format("Имя: {0}\nФамилия: {1}\nДата рождения: {2}", _name, _surname, _birth.ToShortDateString()); } /// <summary> /// Виртуальный метод string ToShortString(), /// который возвращает строку, содержащую только имя и фамилию /// </summary> /// <returns>Отформатированная строка</returns> public virtual string ToShortString() { return String.Format("Имя: {0}\nФамилия: {1}", _name, _surname); } } } namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // Объявили экземпляр класса и вызвали конструктор по умолчанию Person pers1 = new Person(); Console.WriteLine("Экземпляр класса с полями, заполненными по умолчанию:"); Console.WriteLine(pers1.ToString()); Console.WriteLine(pers1.ToShortString()); // Объявили экземпляр класса Person pers2; Console.WriteLine(); Console.WriteLine("Введите имя, фамилию, дату рождения через Enter"); // Вызвали конструктор с параметрами, в которые считываем данные try { pers2 = new Person ( Console.ReadLine(), // считываем имя Console.ReadLine(), // считываем фамилию DateTime.Parse(Console.ReadLine()));// считываем дату рождения } catch (Exception ex) { Console.WriteLine("Возникла следующая ошибка: {0}", ex.Message); pers2 = new Person(); } Console.WriteLine("\nРезультат заполнения:\n{0}", pers2.ToString()); // Изменяем поля имя, фамилия, год, используя свойства pers2.Name = "Полиграф"; pers2.Surname = "Шариков"; pers2.Year = 1925; Console.WriteLine("\nИзмененные свойства объекта pers2:"); Console.WriteLine(pers2.ToString()); } } }
Решение задачи: «Не выводиться на экран результаты»
textual
Листинг программы
Console.WriteLine(pers2.ToString()); Console.Readln();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д