Данные в List, как csv. Нужно отсортировать - C#

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

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

Всем привет. Сразу прошу прощения за возможный плохой код. Я начинающий. Вопрос такой. Есть List, в нем есть данные через ";", как в csv:
Листинг программы
  1. List<string> table = new List<string>()
  2. {
  3. "команда;10;5;2;3;15;3;12;17",
  4. "команда;10;2;4;4;12;5;7;10",
  5. "команда;10;3;7;0;10;7;3;16"
  6. };
Обычная футбольная таблица. Команда;Игры;Выигрыши;Ничьи;Поражения;Забитые голы;Пропущенные голы;Разница мячей;Очки Нужно отсортировать элементы этого List сначала по Очкам, потом по Разнице мячей, потом по Забитым голам, а потом по Выигрышам. По убыванию. То есть, получается сортировка по нескольким столбцам таблицы, грубо говоря. Как это сделать? Заранее благодарю.

Решение задачи: «Данные в List, как csv. Нужно отсортировать»

textual
Листинг программы
  1. List<string> table = new List<string>()
  2. {
  3.     "команда;10;5;2;3;15;3;12;17",
  4.     "команда;10;2;4;4;12;5;7;10",
  5.     "команда;10;3;7;0;10;7;3;16"
  6. };
  7.  
  8. var newTable = (from t in table
  9.     let arr = t.Split(';')
  10.     select new {
  11.         Name = arr[0],
  12.         MatchesWon = int.Parse(arr[1]),
  13.         MatchesDrawn = int.Parse(arr[2]),
  14.         MathesLost = int.Parse(arr[3]),
  15.         GoalsFor = int.Parse(arr[4]),
  16.         GoalsAgainst = int.Parse(arr[5]),
  17.         GoalDifference = int.Parse(arr[6]),
  18.         Points = int.Parse(arr[7]),
  19.     } into team
  20.     orderby team.Points descending, team.GoalDifference descending, team.GoalsFor descending, team.MatchesWon descending
  21.     select team
  22.     ).ToArray();
  23.    
  24. foreach (var team in newTable)
  25. {
  26.     Console.WriteLine("{0} has {1} point(s)", team.Name, team.Points);
  27. }

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


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

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

12   голосов , оценка 3.833 из 5

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

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

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