Метод класса возвращающий ссылку на объект - C#

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

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

нужно сделать Свойство типа Paper ссылка на публикацию с самой поздней датой выхода, если список пуст то null В таком варианте пишет невозможно использовать в данном контексте. Как реализовать такое свойство?
Листинг программы
  1. class Paper
  2. {
  3. // открытое свойство название публикации
  4. public string Name { get; set; }
  5. // открытое свойство автор публикации
  6. public Person Author { get; set; }
  7. // открытое свойство дата публикации
  8. public DateTime DatePublic { get; set; }
  9. // Конструктор с заданными параметрами
  10. public Paper(string a, Person b, DateTime c)
  11. {
  12. Name = a;
  13. Author = b;
  14. DatePublic = c;
  15. }
  16. // Конструктор без параметров иннициализирующий значениями по умолчанию
  17. public Paper()
  18. {
  19. Name = "UnknownPublication";
  20. Author = new Person();
  21. DatePublic = DateTime.Now;
  22. }
  23. // перегруженная функция возвращает все поля класса
  24. public override string ToString()
  25. {
  26. return Name+' '+Author.Name+' '+Author.Surname+' '+DatePublic.ToString("dd.mm.yyyy");
  27. }
  28. }
  29. class ResearchTeam
  30. {
  31. public string Topic { get; private set; }
  32. public string Name { get; private set; }
  33. public int Regnumber { get; private set; }
  34. public TimeFrame Last { get; private set; }
  35. public List<Paper> Publics { get; private set; }
  36. public ref Paper LastPublics
  37. {
  38. get
  39. {
  40. DateTime MaxDate = DateTime.Parse("01.01.0000");
  41. int LastP = 0;
  42. if (Publics.Count == 0)
  43. return null;
  44. for (int i = 0; i < Publics.Count; i++)
  45. if (Publics[i].DatePublic > MaxDate)
  46. LastP = i;
  47. return ref Publics[LastP];
  48. }
  49. }
  50. }
Разобрался.
Листинг программы
  1. public Paper LastPublics
  2. {
  3. get
  4. {
  5. if (Publics.Count == 0) return null;
  6. Paper LastPublics = Publics[0];
  7. for (int i = 0; i < Publics.Count; i++)
  8. if (Publics[i].DatePublic > LastPublics.DatePublic)
  9. LastPublics = Publics[i];
  10. return LastPublics;
  11. }
  12. }

Решение задачи: «Метод класса возвращающий ссылку на объект»

textual
Листинг программы
  1.       public Paper LastPublics
  2.         {
  3.             get
  4.             {
  5.                 return Publics.OrderByDescending(x => x.DatePublic).FirstOrDefault();
  6.             }
  7.         }

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


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

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

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

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

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

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