Something like this might solve it for you:
Imports System.IO
Module Module1
Sub Recurse(ByVal directory As DirectoryInfo, ByVal resultList As List(Of FileInfo))
resultList.AddRange(directory.GetFiles())
For Each subDirectory As DirectoryInfo In directory.GetDirectories()
Recurse(subDirectory, resultList)
Next
End Sub
Sub Main()
Dim flatList As List(Of FileInfo)
flatList = New List(Of FileInfo)
Recurse(New DirectoryInfo("C:\Projects"), flatList)
For Each f As FileInfo In flatList
System.Console.WriteLine(f.FullName)
Next
End Sub
End Module
Hope this helps,
Fredrik