Mit .NET sind viel Tasks ja ein Kinderspiel geworden, z.B. auch das Darstellen von Dateien in einem Ordner, z.B. in einer Tabelle im Browser. Sinnigerweise will man die Dateien nach bestimmten Kriterien sortieren, in meinem Fall einfach nach Erstelldatum absteigend, damit immer die neueste Datei oben steht. Das ist auch kein großes Problem, der Array.Sort()-Methode sei dank. Et voilà:

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack)
    {
        DirectoryInfo exports = new DirectoryInfo("D:\Temp");
        FileInfo[] files = exports.GetFiles();
        Array.Sort(files, new FileComparer());
        ListExports.DataSource = files;
        ListExports.DataBind();
    }
}

class FileComparer : IComparer<FileInfo>
{
    int IComparer<FileInfo>.Compare(FileInfo x, FileInfo y)
    {
        return y.CreationTime.CompareTo(x.CreationTime);
    }
}

Kommentare

#1 Albert Weinert schrieb am Freitag, 25. April 2008 21:13:00:
Oder mit einer Lamdba Expression.

Array.Sort(files, (x, y) => y.CreationTime.CompareTo(x.CreationTime));
#2 Thomas schrieb am Sonntag, 4. Mai 2008 22:52:00:
Ist natürlich fast noch nen Tick schicker, aber ich hab die Syntax noch nicht verinnerlicht. Next time dann :-)

Dein Kommentar