Сортировка коллекции объектов обобщенного класса - C# (192158)

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

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

Доброго времени суток) Столкнулся с такой проблемой: не получается отсортировать коллекцию. Необходимо, чтобы коллекция объектов MyGeneric<T> сортировалась по тому же правилу как и объекты Т. п.с. Коллекция объекты Т сортируется, а при MyGeneric<T> вылетает exception, хотя в данном примере это всего лишь обертка. Вот накидал примерчик на list.Sort() краш, помогите пожалуйста разобраться. Спасибо!)
Листинг программы
  1. class MyGeneric<T> : IComparable<T> where T : struct, IComparable<T>
  2. {
  3. public T Property { get; set; }
  4. public int CompareTo(T o)
  5. {
  6. return Property.CompareTo(o);
  7. }
  8. }
  9. struct MyType : IComparable<MyType>
  10. {
  11. public int value;
  12. public int CompareTo(MyType o)
  13. {
  14. return value.CompareTo(o.value);
  15. }
  16. }
  17. class Program
  18. {
  19. static void Main(string[] args)
  20. {
  21. List<MyGeneric<MyType>> list = new List<MyGeneric<MyType>>();
  22. for (int i = 10; i > 0; i--)
  23. {
  24. MyType ii = new MyType() { value = i };
  25. MyGeneric<MyType> iii = new MyGeneric<MyType>() { Property = ii};
  26. list.Add(iii);
  27. }
  28. foreach (var c in list)
  29. Console.WriteLine(c.Property.value);
  30. list.Sort();
  31. foreach (var c in list)
  32. Console.WriteLine(c.Property.value);
  33. }
  34. }

Решение задачи: «Сортировка коллекции объектов обобщенного класса»

textual
Листинг программы
  1.     class MyGeneric<T> : IComparable<MyGeneric<T>> where T : struct, IComparable<T>
  2.     {
  3.         public T Property { get; set; }
  4.  
  5.         public int CompareTo(MyGeneric<T> other)
  6.         {
  7.             return this.Property.CompareTo(other.Property);
  8.         }
  9.     }

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


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

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

10   голосов , оценка 4 из 5

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

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

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