Не работает метод IComparable для первого списка - C#

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

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

Собственно насколько я понял выдаёт ошибку при сравнении элементов списка Почему это происходит. Как это можно исправить.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. class Program
  5. {
  6. class AirplanesProperties : IComparable<AirplanesProperties>
  7. {
  8. public int Number { get; set; }
  9. public int ArrivalTime { get; set; }
  10. public string City { get; set; }
  11. public string Airline { get; set; }
  12. public int Terminal { get; set; }
  13. public int ShippingFlight { get; set; }
  14. public int Bgate { get; set; }
  15. public AirplanesProperties() { }
  16. public AirplanesProperties(int number, int arrivalTime)
  17. {
  18. Number = number;
  19. ArrivalTime = arrivalTime;
  20. }
  21. public int CompareTo(AirplanesProperties obj)
  22. {
  23. if (ArrivalTime > obj.ArrivalTime)
  24. return 1;
  25. else if (ArrivalTime < obj.ArrivalTime)
  26. return -1;
  27. return 0;
  28. }
  29. public override string ToString()
  30. {
  31. return String.Format(" {1}\tnumber: {0:C}\tarrivalTime: ", ArrivalTime, Number);
  32. }
  33. }
  34. #region ArrivalTime1
  35. private static void Arrivaltime1()
  36. {
  37. int x, y, z, k;
  38. Console.WriteLine("arrivalTime1");
  39. x = Convert.ToInt32(Console.ReadLine());
  40. Console.WriteLine("arrivalTime2");
  41. y = Convert.ToInt32(Console.ReadLine());
  42. Console.WriteLine("arrivalTime3");
  43. z = Convert.ToInt32(Console.ReadLine());
  44. Console.WriteLine("arrivalTime4");
  45. k = Convert.ToInt32(Console.ReadLine());
  46. List<AirplanesProperties> fligths = new List<AirplanesProperties>()
  47. {
  48. new AirplanesProperties { Number = 1, ArrivalTime = x, },
  49. new AirplanesProperties { Number = 2, ArrivalTime = y, },
  50. new AirplanesProperties { Number = 3, ArrivalTime = z, },
  51. new AirplanesProperties { Number = 4, ArrivalTime = k, }
  52. };
  53. fligths.Sort();
  54. foreach (var item in fligths)
  55. Console.WriteLine(item);
  56. }
  57. #endregion
  58. #region Airline
  59. private static void Airline()
  60. {
  61. List<AirplanesProperties> fligth = new List<AirplanesProperties>()
  62. {
  63. new AirplanesProperties { Number = 1, City = "kiyev", Airline = "PAU", Terminal = 1, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  64. new AirplanesProperties { Number = 2, City = "kiyev", Airline = "PAU", Terminal = 1, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  65. new AirplanesProperties { Number = 3, City = "Odessa", Airline = "MAU", Terminal = 3, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  66. new AirplanesProperties { Number = 4, City = "Odessa", Airline = "MAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  67. new AirplanesProperties { Number = 4, City = "Odessa", Airline = "RAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  68. new AirplanesProperties { Number = 5, City = "Odessa", Airline = "RAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 }
  69. };
  70. int n = Convert.ToInt32(Console.ReadLine());
  71. var filterFlight = fligth.Where(x => x.Number != n);
  72. foreach (var x in filterFlight)
  73. {
  74. Console.WriteLine(x.Airline + x.ArrivalTime + x.Bgate + x.City + x.Number);
  75. }
  76. }
  77. #endregion
  78. #region gate
  79. private static void gate()
  80. {
  81. List<AirplanesProperties> fligth = new List<AirplanesProperties>()
  82. {
  83. new AirplanesProperties { Number = 1, City = "kiyev", Airline = "PAU", Terminal = 1, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  84. new AirplanesProperties { Number = 1, City = "kiyev", Airline = "PAU", Terminal = 1, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  85. new AirplanesProperties { Number = 1, City = "Odessa", Airline = "MAU", Terminal = 3, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  86. new AirplanesProperties { Number = 1, City = "Odessa", Airline = "MAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  87. new AirplanesProperties { Number = 1, City = "Odessa", Airline = "RAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
  88. new AirplanesProperties { Number = 1, City = "Odessa", Airline = "MAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 }
  89. };
  90. string z = Console.ReadLine();
  91. var result = fligth.Where(x => x.Airline == z);
  92. foreach (var x in result)
  93. {
  94. Console.WriteLine(x.Airline + x.ArrivalTime + x.Bgate + x.City + x.Number);
  95. }
  96. }
  97. #endregion
  98. static void Main()
  99. {
  100. Console.WriteLine(@"Please, type the number:
  101. 1. arrivalTime1
  102. 2. udalenie elementa massiva
  103. 3. Poisk po aviakompanii
  104. ");
  105. int a = int.Parse(Console.ReadLine());
  106. switch (a)
  107. {
  108. case 1:
  109. Arrivaltime1();
  110. Console.WriteLine("");
  111. break;
  112. case 2:
  113. Airline();
  114. Console.WriteLine("");
  115. break;
  116. case 3:
  117. gate();
  118. Console.WriteLine("");
  119. break;
  120. default:
  121. Console.WriteLine("Exit");
  122. break;
  123. }
  124. Console.ReadKey();
  125. }
  126. }

Решение задачи: «Не работает метод IComparable для первого списка»

textual
Листинг программы
  1. public override string ToString()
  2. {
  3.     return String.Format(" {0}\tnumber: {1:C}\tarrivalTime: ",
  4.         this.arrivalTime, this.number);
  5. }

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


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

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

14   голосов , оценка 4.214 из 5

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

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

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