using System; using System.Collections.Generic; using System.IO; using System.Linq; namespace Introduction { class Program { static void Main(string[] args) { string path = Directory.GetCurrentDirectory(); ShowLargeFilesWithoutLinq(path); Console.WriteLine("***"); ShowLargeFilesWithLinq(path); } private static void ShowLargeFilesWithLinq(string path) { var query = new DirectoryInfo(path).GetFiles() .OrderBy(f => f.Length) .Take(5); foreach (var file in query.Take(5)) { Console.WriteLine($"{file.Name,-50} : {file.Length,10:N0}"); } } private static void ShowLargeFilesWithoutLinq(string path) { DirectoryInfo directory = new DirectoryInfo(path); FileInfo[] files = directory.GetFiles(); Array.Sort(files, new FileInfoComparer()); for (int i = 0; i < 5; i++) { FileInfo file = files[i]; Console.WriteLine($"{file.Name, -20} : {file.Length, 10:N0}"); } } } public class FileInfoComparer : IComparer { public int Compare(FileInfo x, FileInfo y) { return y.Length.CompareTo(x.Length); } } }