[MiniRETO] obtener de la forma mas rapida archivos directorios y subdirectorios

Iniciado por _katze_, 14 Febrero 2011, 22:58 PM

0 Miembros y 1 Visitante están viendo este tema.

_katze_

bien como dice el post es buscar la funcion mas rapida y valida de encontrar estos datos siendo como base de la funcion y que podria variar seria esta!
Function ListDir(ByVal StrPath as string)as string
podria ser cambiada por otros parametros o agregar parametros opcionales,,,,a medida que se postea los codes se iran probando yo probare en mi makina para que no varie en nada y se pondra la mejor y se podra hacer un post con esto. gracias y participen...esto agrande este subforo.

hay va una altenativa mas o menos distinta a la clasica noc fue al boleo. asi en 5 milisegundos. y unos 381 milisegundos cargando en combo o en debug
Código (vbnet) [Seleccionar]
Function ListDir(ByVal StrPath As String) As ArrayList
        Dim dir As DirectoryInfo = New DirectoryInfo(StrPath)
        Dim ta As ArrayList = New ArrayList()
        For Each subdir As DirectoryInfo In dir.GetDirectories
            ta.Add(subdir.FullName)
        Next
        Return ta
    End Function



Edu

Ni idea si anda porq es la primera vez q hago un reto y no supe como probarlo sin perder tanto tiempo xD
Solo lo traduci a C# para no dejarte solo xD

Código (csharp) [Seleccionar]

List<string> ListDir(string StrPath)
        {
            DirectoryInfo dir = new DirectoryInfo(StrPath);
            List<string> list = new List<string>();
            foreach (DirectoryInfo subdir in dir.GetDirectories())
            {
                list.Add(subdir.FullName);
           
            }
            return list;
        }

_katze_

buenisimo man....:D....para probar haces esto.....

dim stopwatch as new stopwatch

stopwatch.start()

'aki pones la  funcion...

stopwatch.stop()

debug.print(stopwatch.miliseconds())

Edu

Ja grcaias, aunque el debug.print no me aparece, me faltara agregar una referencia.. y no se cual es

_katze_

Function ListDir(ByVal StrPath As String) As ArrayList
        Dim dir As DirectoryInfo = New DirectoryInfo(StrPath)
        Dim ta As ArrayList = New ArrayList()
        For Each subdir As DirectoryInfo In dir.GetDirectories
            ta.Add(subdir.FullName)
        Next
        For Each Filef As IO.FileInfo In dir.GetFiles
            ta.Add(Filef.Name)
        Next
        Return ta
    End Function

una mas