How to flatten 2D array into a sorted one dimensional 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().OrderBy(Function(x) x)
				
        Console.WriteLine(String.Join(", ", arr))
    End Sub
End Class
	
	
	
' run:
'
' 0, 1, 3, 4, 6, 7, 8, 17, 39
'

 



answered Jul 10, 2023 by avibootz
edited Jul 11, 2023 by avibootz
...