Данные в List, как csv. Нужно отсортировать - C#
Формулировка задачи:
Всем привет. Сразу прошу прощения за возможный плохой код. Я начинающий.
Вопрос такой. Есть List, в нем есть данные через ";", как в csv:
Обычная футбольная таблица. Команда;Игры;Выигрыши;Ничьи;Поражения;Забитые голы;Пропущенные голы;Разница мячей;Очки
Нужно отсортировать элементы этого List сначала по Очкам, потом по Разнице мячей, потом по Забитым голам, а потом по Выигрышам. По убыванию.
То есть, получается сортировка по нескольким столбцам таблицы, грубо говоря.
Как это сделать?
Заранее благодарю.
List<string> table = new List<string>() { "команда;10;5;2;3;15;3;12;17", "команда;10;2;4;4;12;5;7;10", "команда;10;3;7;0;10;7;3;16" };
Решение задачи: «Данные в List, как csv. Нужно отсортировать»
textual
Листинг программы
List<string> table = new List<string>() { "команда;10;5;2;3;15;3;12;17", "команда;10;2;4;4;12;5;7;10", "команда;10;3;7;0;10;7;3;16" }; var newTable = (from t in table let arr = t.Split(';') select new { Name = arr[0], MatchesWon = int.Parse(arr[1]), MatchesDrawn = int.Parse(arr[2]), MathesLost = int.Parse(arr[3]), GoalsFor = int.Parse(arr[4]), GoalsAgainst = int.Parse(arr[5]), GoalDifference = int.Parse(arr[6]), Points = int.Parse(arr[7]), } into team orderby team.Points descending, team.GoalDifference descending, team.GoalsFor descending, team.MatchesWon descending select team ).ToArray(); foreach (var team in newTable) { Console.WriteLine("{0} has {1} point(s)", team.Name, team.Points); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д