Вывести результат работы программы на консоль - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите как результат вывести на консоль ?  Свойство типа Paper ( только с методом get), которое возвращает ссылку на публикацию с самой поздней датой выхода; если список публикаций пустой, свойство возвращает значение null.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Конструктор_1
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11.  
  12. Console.WriteLine();
  13. ResearchTeam team = new ResearchTeam();
  14. ResearchTeam Ssilka = new ResearchTeam();
  15. Paper[] papers = new Paper[2];
  16. papers[0] = new Paper("pub_4", new DateTime(1887, 6, 1));
  17. papers[1] = new Paper("pub_5", new DateTime(1889, 8, 21));
  18. team.AddPapers(papers);
  19. foreach (Paper paper in team.list)
  20. {
  21. Console.WriteLine(paper.Publication);
  22. Console.WriteLine(paper.Time.ToShortDateString());
  23. }
  24.  
  25. Console.WriteLine(team.ToString());
  26. Console.WriteLine(Ssilka.Paper); // ? 1
  27. Console.ReadKey();
  28. }
  29. }
  30.  
  31. class Paper
  32. {
  33.  
  34. public string Publication { get; private set; } // свойство типа string , в котором хранится название публикации
  35. public string Author { get; private set; } // свойство типа Person для автора публикации
  36. public DateTime PublishDate { get; private set; }DateTime Data { get; set; } // свойство типа DateTime c датой публикации
  37.  
  38. //конструктор c параметрами типа string, Person, DateTime для инициализации всех свойств класса;
  39. public Paper(string pub, string author, DateTime date)
  40. {
  41. Publication = pub;
  42. Author = author;
  43. PublishDate = date;
  44. }
  45. // конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию
  46. public Paper() : this("WarandWorld", "Lolstoy", new DateTime(1889, 7, 1)) { }
  47.  
  48. public Paper(string publication, DateTime time)
  49. {
  50. Publication = publication;
  51. Time = time;
  52. }
  53. public string publication;
  54. public DateTime Time;
  55. }
  56. //Определить тип TimeFrame перечисление(enum) со значениями Year, TwoYears, Long.
  57. enum TimeFrame { Year, TwoYears, Long }
  58.  
  59. class ResearchTeam : List<Paper>
  60. {
  61.  
  62. // закрытое поле типа Paper*+, в котором хранится список публикаций
  63. private List<Paper> Papers = new List<Paper>() { new Paper("pub_1", new DateTime(1881, 6, 2)), new Paper("pub_2", new DateTime(1883, 6, 2)), new Paper("pub_3", new DateTime(1885, 6, 2)) }; //,
  64.  
  65. // В классе ResearchTeam определить конструкторы :
  66. // Конструктор c параметрами типа string, string, int, TimeFrame для инициализации соответствующих полей класса
  67.  
  68. public ResearchTeam(string theme, string org, string regNum)
  69. {
  70. _theme = theme;
  71. _organization = org;
  72. _registryNumber = regNum;
  73. }
  74.  
  75. //Конструктор без параметров, инициализирующий поля класса значениями по умолчанию
  76. public ResearchTeam() : this("Ecology", "Colos", "1924714927") { }
  77.  
  78. //В классе ResearchTeam определить свойства c методами get и set
  79. //Cвойство типа string для доступа к полю с названием темы исследова-ний
  80. private string _theme;
  81. /// <summary>
  82. /// Тема исследований
  83. /// </summary>
  84. public string Theme
  85. {
  86. get { return _theme; }
  87. }
  88.  
  89. //Cвойство типа string для доступа к полю с названием организации
  90. private string _organization;
  91. /// <summary>
  92. /// Название организации
  93. /// </summary>
  94. public string Organization
  95. {
  96. get { return _organization; }
  97. }
  98. //Cвойство типа int для доступа к полю с номером регистрации
  99. private string _registryNumber;
  100. /// <summary>
  101. /// Регистрационный номер организации
  102. /// </summary>
  103. public string RegistryNumber
  104. {
  105. get { return _registryNumber; }
  106. }
  107. //Cвойство типа TimeFrame для доступа к полю с продолжительностью ис-следований
  108. private TimeFrame _last;
  109. /// <summary>
  110. /// Продолжительность исследований
  111. /// </summary>
  112. public TimeFrame Last
  113. {
  114. get { return _last; }
  115. }
  116. /// <summary>
  117. /// Cсылкa на публикацию с самой поздней датой выхода.
  118. /// <para>Eсли список публикаций пустой — возвращает null</para>
  119. /// </summary>
  120. public Paper Paper // ? 2
  121. {
  122. get
  123. {
  124. return Count == 0 ? null : this.OrderByDescending(p => p.PublishDate).FirstOrDefault();
  125. }
  126. }
  127.  
  128. /// <summary>
  129. /// Возвращает true, если продолжительность исследований совпадает с указанной
  130. /// </summary>
  131. /// <param name="frame">Указанная продолжительность исследований</param>
  132. public bool this[TimeFrame frame]
  133. {
  134. get { return frame == Last; }
  135. }
  136. //Cвойство типа Paper[] для доступа к полю со списком публикаций по те-ме исследований
  137. public List<Paper> list
  138. {
  139. get { return Papers; }
  140. set { Papers = value; }
  141. }
  142.  
  143. public void AddPapers(Paper[] papers)
  144. {
  145. Papers.AddRange(papers);
  146. }
  147.  
  148. public override string ToString()
  149. {
  150. return string.Join(",", Papers.Select(p => p.Publication));
  151. }
  152.  
  153. }
  154.  
  155. }

Решение задачи: «Вывести результат работы программы на консоль»

textual
Листинг программы
  1. public Paper Paper    //  ?  2
  2.         {
  3.             get
  4.             {
  5.                 return Count == 0 ? null : this.OrderByDescending(p => p.PublishDate).FirstOrDefault();
  6.             }    
  7.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы