Сортировка двумерного List>, по 1-ой строке, чтобы элементы 2-ой строки передвинулись в соответствии с 1-ой - C#
Формулировка задачи:
Дан двумерный массив List<List<string>> , состоящий из двух строк, как его отсортировать по первой строке, чтобы элементы второй строки передвинулись в соответствии с перемещением элементов первой.
|DEVELOPER.@gmail.com|removed@mail.ru|removed@mail.ru|removed@mail.ru|removed@mail.ru|removed@mail.ru|
|removed@mail.ru |removed@mail.ru |removed@mail.ru |removed@mail.ru|removed@mail.ru |removed@mail.ru|
Команда mass[0].Sort(); сортирует только отдельно первую строку
Решение задачи: «Сортировка двумерного List>, по 1-ой строке, чтобы элементы 2-ой строки передвинулись в соответствии с 1-ой»
textual
Листинг программы
using System; using System.Linq; using System.Collections.Generic; namespace Sorting { class Program { static void Main(string[] args) { List<List<int>> list = new List<List<int>>() { new List<int> { 1, 2, 4, 5, 3 }, new List<int> { 1, 2, 3, 4, 5 }, new List<int> { 5, 4, 3, 2, 1 } }; var sorted = list.SelectMany((l, i) => l.Select((n, j) => new { num = n, indexer = j, list = i })) .GroupBy(a => a.indexer) .OrderBy(o => Tuple.Create(o.ElementAt(0).list, o.ElementAt(0).num)) .SelectMany(a => a) .GroupBy(a => a.list) .Select(g => g.Select(n => n.num).ToList()) .ToList(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д