C# で Directory.GetFiles の結果をソートする 質問する

C# で Directory.GetFiles の結果をソートする 質問する

ディレクトリ内のすべてのファイルを一覧表示するコードがあります。

class GetTypesProfiler
{
    static List<Data> Test()
    {
        List<Data> dataList = new List<Data>();
        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()
    {
         ...
    }
}

ファイル サイズまたはアルファベット順に基づいてファイル情報を印刷する必要があります。Directory.GetFiles() からの結果を並べ替えるにはどうすればよいでしょうか?

ベストアンサー1

LINQ を使用すると非常に簡単です。

名前で並べ替えるには、

var sorted = Directory.GetFiles(".").OrderBy(f => f);

サイズ順に並べ替えるには、

var sorted = Directory.GetFiles(".").OrderBy(f => new FileInfo(f).Length);

おすすめ記事