There is a list of Programmer objects that need to be sorted by the time they work with a particular topic:
class Programmer{ /** * Поля данных * программиста * */ private string name; //Фио private string ag; //Тема работы private string fDat; //Дата начала работы: "MM/DD/YY HH:MM:SS" private string lDat; //Дата конца работы ... //Метод, который возвращает интервал работы public TimeSpan getIntrval(){ DateTime date1 = DateTime.Parse(fDat, System.Globalization.CultureInfo.InvariantCulture); DateTime date2 = DateTime.Parse(lDat, System.Globalization.CultureInfo.InvariantCulture); return (date2 - date1); }// //===========================// //Метод сортировки по времени //Я его yказываю, при работы со списком в параметрах Sort() //List<Programmer> lst = new List<Programmer>(); //lst.Sort(Programmer.SortByTimeUp) public static int SortByTimeUp(Programmer p1, Programmer p2) { //return p1.getIntrval() > p2.getIntrval(); return p1.getIntrval().CompareTo(p2.getIntrval()); } } //=======================================// static void Main(string[] args){ List<Programmer> lst = new List<Programmer>(); lst.Add(new Programmer("Фамилия И.О.", "Тема", "12/12/2016 14:54:04", "12/12/2016 16:54:04")); lst.Add(new Programmer("Фамилия1 И1.О1.", "Тема", "12/12/2016 12:54:04", "12/12/2016 16:56:04")); lst.Add(new Programmer("Фамилия2 И2.О2.", "ДрyгаяТема", "12/12/2016 12:54:04", "12/12/2016 13:00:04")); lst.Sort(Programmer.SortByTimeUp); foreach(Programmer a in lst) Console.WriteLine("Элемент: {0}, a.getName()); //Список бyдет: //Элемент: Фамилия2 И2.О2. //6 минyт интервал //Элемент: Фамилия И.О. //2 часа работы //Элемент: Фамилия И1.О1. //4 часа /* */ } Как мне сортировать по временномy интервалy, но по определенной теме, например, do I need to sort by the programmers work interval with the theme for example "Theme"? For example, that everyone who has the theme "Subject" should be sorted in a row, and the rest go after them already randomly:
Объекты: 1. Имя:Андрей, Тема: Игра, Интервал: 25 мин 2. Имя:Кирилл, Тема: Мyзыка, Интервал: 10 мин 3. Имя:Антон, Тема: Игра, Интервал 15 мин // Если их сортировать по времени, то бyдет: Кирилл(Мyзыка, 10), Антон(Игра, 15), Андрей(Игра, 25) А мне надо, чтобы после сортировки было: Антон(Игра, 15), Андрей(Игра, 25), Кирилл(Мyзыка, 10) 