How to flatten 2D array into a descending order 1D array with unique values using Linq in VB.NET

1 Answer

0 votes
Imports System
Imports System.Linq

Public Class Program
	Public Shared Sub Main()
		Dim array2d As Integer()() = New Integer(3)(){}
  
        array2d(0) = New Integer() {4, 3, 3}
        array2d(1) = New Integer() {8, 39, 0}
        array2d(2) = New Integer() {17, 39}
        array2d(3) = New Integer() {1, 1, 6, 7, 7, 7, 8}
        
		Dim arr = array2d.SelectMany(Function(list) list).Distinct().OrderByDescending(Function(x) x)
				
        Console.WriteLine(String.Join(", ", arr))
    End Sub
End Class
		
		
		
' run:
'
' 39, 17, 8, 7, 6, 4, 3, 1, 0
'

 



answered Jul 11, 2023 by avibootz
...