Сортировка двумерного 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();
        }
    }
}

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


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

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

8   голосов , оценка 4 из 5