.NET 4.x Интерфейс IComparable, метод CompareTo - C#

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

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

Листинг программы
  1. public class Car:IComparable
  2. {
  3. public int CarID { get; set; }
  4. public int CurrentSpeed { get; set; }
  5. public string PetName { get; set; }
  6. public Car(string name,int currSp,int id)
  7. {
  8. CurrentSpeed = currSp;
  9. PetName = name;
  10. CarID = id;
  11. }
  12. public Car() { }
  13. int IComparable.CompareTo(object obj)
  14. {
  15. Car temp = obj as Car;
  16. if (temp != null)
  17. return this.CarID.CompareTo(temp.CarID);
  18. else
  19. throw new ArgumentException("Param isn't a Car");
  20. }
  21. }
  22. static void Main(string[] args)
  23. {
  24. Car[] my =new Car[5];
  25. my[0] = new Car("A", 10, 1);
  26. my[1] = new Car("B", 20, 5);
  27. my[2] = new Car("C", 30, 4);
  28. my[3] = new Car("D", 40, 3);
  29. my[4] = new Car("E", 50, 2);
  30. foreach(Car c in my)
  31. {
  32. Console.WriteLine("{0} {1}",c.CarID,c.PetName);
  33. }
  34. Array.Sort(my);
  35. Console.WriteLine();
  36. Console.WriteLine("here is the ordered set of cars:");
  37. foreach(Car c in my)
  38. {
  39. Console.WriteLine("{0} {1}", c.CarID, c.PetName);
  40. }
  41. }
Всем привет,хелп!!!Объясните пожалуйста,что с чем сравнивается вот здесь- IComparable.CompareTo(object obj). Смотрел в режиме дебаг,пробовал сам разобрать,не понимаю,особенно откуда такие цифры берутся(я про дебаг),поясните пожалуйста конкретно на цифрах что с чем сравнивается и что возвращается после каждой итерации в реализации CompareTo().Заранее спасибо.

Решение задачи: «.NET 4.x Интерфейс IComparable, метод CompareTo»

textual
Листинг программы
  1. [System.Security.SecurityCritical]  // auto-generated
  2.         [ResourceExposure(ResourceScope.None)]
  3.         [MethodImplAttribute(MethodImplOptions.InternalCall)]
  4.         [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
  5.         private static extern bool TrySZSort(Array keys, Array items, int left, int right);

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


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

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

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

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

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

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