Сортировка двумерного 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д