41 votes

Triage du résultat de Directory.GetFiles en C#

J'ai ce code pour lister tous les fichiers dans un répertoire.

class GetTypesProfiler
{
    static List Test()
    {
        List dataList = new List();
        string folder = @"DIRECTORY";
        Console.Write("------------------------------------------\n");
        var files = Directory.GetFiles(folder, "*.dll");
        Stopwatch sw;
        foreach (var file in files)
        {   
            string fileName = Path.GetFileName(file);
            var fileinfo = new FileInfo(file);
            long fileSize = fileinfo.Length;
            Console.WriteLine("{0}/{1}", fileName, fileSize);
        }
        return dataList;
    }
    static void Main()
    {
         ...
    }
}

J'ai besoin d'imprimer les informations des fichiers en fonction de leur taille ou de l'ordre alphabétique. Comment puis-je trier le résultat de Directory.GetFiles() ?

0voto

chuu Points 1
// Obtention de l'objet répertoire
DirectoryInfo directoryInfo = new DirectoryInfo(folderName);

// obtenir les fichiers de ce dossier
FileInfo[] files = directoryInfo.GetFiles();

// Tri en utilisant la fonction Array.Sort générique basée sur la comparaison des noms
Array.Sort(files, delegate (FileInfo x, FileInfo y) { return String.Compare(x.Name, y.Name); });

// Tri en utilisant la fonction Array.Sort générique basée sur la date de création de chaque dossier
Array.Sort(files, delegate (FileInfo x, FileInfo y) { return DateTime.Compare(x.CreationTime, y.CreationTime); });

Array Sort

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X