Сортировка списка по типу элементов - C#
Формулировка задачи:
Помогите пожалуйста...
есть список Фигур - List<Figure> list;
в нем наследованные объекты класса квадрат, круг и прямоугольник;
как мне его отсортировать по типу, что бы сначала шли квадраты, потом треугольники, потом уже круги
обычная сортировка не прокатывает, сортирует не так, как нужно по условию
Решение задачи: «Сортировка списка по типу элементов»
textual
Листинг программы
public class MyComparer : IComparer<Shape> { int IComparer<Shape>.Compare(Shape x, Shape y) { return (x.GetType() == y.GetType()) ? 0 : (x is Square && (y is Triangle | y is Circle) || (x is Circle && y is Triangle)) ? -1 : 1; } } class Program { static void Main(string[] args) { List<Shape> figures = new List<Shape>() { new Square(), new Circle(), new Triangle(),new Square()}; figures.Sort(new MyComparer()); foreach(Shape shape in figures) Console.WriteLine(shape.GetType()); Console.ReadLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д