Сортировка коллекции объектов обобщенного класса - C# (192158)
Формулировка задачи:
Доброго времени суток)
Столкнулся с такой проблемой: не получается отсортировать коллекцию.
Необходимо, чтобы коллекция объектов MyGeneric<T> сортировалась по тому же правилу как и объекты Т.
п.с. Коллекция объекты Т сортируется, а при MyGeneric<T> вылетает exception, хотя в данном примере это всего лишь обертка.
Вот накидал примерчик на list.Sort() краш, помогите пожалуйста разобраться. Спасибо!)
Листинг программы
- class MyGeneric<T> : IComparable<T> where T : struct, IComparable<T>
- {
- public T Property { get; set; }
- public int CompareTo(T o)
- {
- return Property.CompareTo(o);
- }
- }
- struct MyType : IComparable<MyType>
- {
- public int value;
- public int CompareTo(MyType o)
- {
- return value.CompareTo(o.value);
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- List<MyGeneric<MyType>> list = new List<MyGeneric<MyType>>();
- for (int i = 10; i > 0; i--)
- {
- MyType ii = new MyType() { value = i };
- MyGeneric<MyType> iii = new MyGeneric<MyType>() { Property = ii};
- list.Add(iii);
- }
- foreach (var c in list)
- Console.WriteLine(c.Property.value);
- list.Sort();
- foreach (var c in list)
- Console.WriteLine(c.Property.value);
- }
- }
Решение задачи: «Сортировка коллекции объектов обобщенного класса»
textual
Листинг программы
- class MyGeneric<T> : IComparable<MyGeneric<T>> where T : struct, IComparable<T>
- {
- public T Property { get; set; }
- public int CompareTo(MyGeneric<T> other)
- {
- return this.Property.CompareTo(other.Property);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д