How to flatten 2D array into a descending order 1D array with unique values using Linq in C#

1 Answer

0 votes
using System;
using System.Linq;
 
class Program
{
    static void Main() {
        int[][] array2d = {
            new[] {4, 3, 3},
            new[] {30, 10},
            new[] {10},
            new[] {1, 1, 6, 7, 7, 7, 8},
        };
 
        var arr = array2d.SelectMany(list => list)
                        .Distinct()
                        .OrderByDescending(x => x);

        Console.WriteLine(string.Join(", ", arr));
    }
}
 
 
 
/*
run:
 
30, 10, 8, 7, 6, 4, 3, 1
 
*/

 



answered Jul 3, 2023 by avibootz
...