Listing Directories by Creation Date

G

Guest

I know that you can list a directories and subdirectories using the
DirectoryInfo Class. However, is it possible to sort the directories by
creation date?

Thank you!
 
G

Guest

Hi,

Yes you can. Create your own class that implements IComparer interface and
use it when calling Array.Sort method. Please fing a code snippet below.

public class DirectoryInfoComparer : System.Collections.IComparer
{
public DirectoryInfoComparer()
{
}

public int Compare(object o1, object o2)
{
System.IO.DirectoryInfo info1 =
(System.IO.DirectoryInfo) o1;
System.IO.DirectoryInfo info2 =
(System.IO.DirectoryInfo) o2;

return DateTime.Compare(
info1.CreationTime,
info2.CreationTime);
}
}


// and test
private void button1_Click(object sender, System.EventArgs e)
{
DirectoryInfoComparer comparer =
new DirectoryInfoComparer();

System.IO.DirectoryInfo info =
new System.IO.DirectoryInfo("c:\\");
System.IO.DirectoryInfo[] infos =
info.GetDirectories();

Array.Sort(infos, comparer);

foreach (System.IO.DirectoryInfo i in infos)
{
listBox1.Items.Add(i.FullName + " : " + i.CreationTime);
}
}


Hope this helps
 
G

Guest

Thank you!!

Milosz Skalecki said:
Hi,

Yes you can. Create your own class that implements IComparer interface and
use it when calling Array.Sort method. Please fing a code snippet below.

public class DirectoryInfoComparer : System.Collections.IComparer
{
public DirectoryInfoComparer()
{
}

public int Compare(object o1, object o2)
{
System.IO.DirectoryInfo info1 =
(System.IO.DirectoryInfo) o1;
System.IO.DirectoryInfo info2 =
(System.IO.DirectoryInfo) o2;

return DateTime.Compare(
info1.CreationTime,
info2.CreationTime);
}
}


// and test
private void button1_Click(object sender, System.EventArgs e)
{
DirectoryInfoComparer comparer =
new DirectoryInfoComparer();

System.IO.DirectoryInfo info =
new System.IO.DirectoryInfo("c:\\");
System.IO.DirectoryInfo[] infos =
info.GetDirectories();

Array.Sort(infos, comparer);

foreach (System.IO.DirectoryInfo i in infos)
{
listBox1.Items.Add(i.FullName + " : " + i.CreationTime);
}
}


Hope this helps
--
Milosz Skalecki
MCP, MCAD


RHPT said:
I know that you can list a directories and subdirectories using the
DirectoryInfo Class. However, is it possible to sort the directories by
creation date?

Thank you!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top