Ordenar uma lista <FileInfo> pela data de criação C #
Usando este exemplo do MSDN:
using System.Collections.Generic;
using System.IO;
namespace CollectionTest
{
public class ListSort
{
static void Main(string[] args)
{
List<FileInfo> files = new List<FileInfo>();
files.Add(new FileInfo("d(1)"));
files.Add(new FileInfo("d"));
files.Add(new FileInfo("d(2)"));
files.Sort(new CompareFileInfoEntries());
}
}
public class CompareFileInfoEntries : IComparer<FileInfo>
{
public int Compare(FileInfo f1, FileInfo f2)
{
return (string.Compare(f1.Name, f2.Name));
}
}
}
Como eu compararia a data de criação.
F1 tem uma data de "criação" de propriedade que é um FileSystemInfo.Datetime, mas quando tento isso:
public class CompareFileInfoEntries : IComparer<FileInfo>
{
public int Compare(FileInfo f1, FileInfo f2)
{
return (DateTime.Compare(DateTime.Parse(f1.CreationTime), f2.CreationTime));
}
}
}
Eu recebo correspondências de método de sobrecarga paraString. compare(string,string)
Nota: Eu usei dois métodos no script acima para tentar retornar o horário de criação. Nem funcionou - os dois seriam os mesmos no meu script atua
CLosest posso obter é:
return (DateTime.Compare(DateTime.Parse(f1.CreationTime.ToString()), DateTime.Parse(f2.CreationTime.ToString() )));