Hello,
I wrote a program with two approaches. How can I measure which one is faster?
Thank you
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
string path = @"G:\";
ShowBasedSized(path);
Console.WriteLine();
ShowBasedSizedWithLinq(path);
}
private static void ShowBasedSizedWithLinq(string path)
{
var result = from file in new DirectoryInfo(path).GetFiles()
orderby file.Length
select file;
foreach (var item in result)
{
Console.WriteLine($"{item.Name,-30} - {item.Length,10}");
}
}
private static void ShowBasedSized(string path)
{
DirectoryInfo directoryInfo = new DirectoryInfo(path);
FileInfo[] fileInfos = directoryInfo.GetFiles();
Array.Sort(fileInfos, new SortFilesBasedSized());
foreach (FileInfo item in fileInfos)
{
Console.WriteLine($"{item.Name,-30} - {item.Length,10}");
}
}
}
public class SortFilesBasedSized : IComparer<FileInfo>
{
public int Compare(FileInfo first, FileInfo second)
{
return first.Length.CompareTo(second.Length);
}
}
}