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

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

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

Всем привет. Сразу прошу прощения за возможный плохой код. Я начинающий. Вопрос такой. Есть List, в нем есть данные через ";", как в csv:
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 сначала по Очкам, потом по Разнице мячей, потом по Забитым голам, а потом по Выигрышам. По убыванию. То есть, получается сортировка по нескольким столбцам таблицы, грубо говоря. Как это сделать? Заранее благодарю.

Решение задачи: «Данные в 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);
}

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


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

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

12   голосов , оценка 3.833 из 5
Похожие ответы