C # list file in directory release

I am using VSTS 2008 + C # + .Net 3.0. I want to list all the files in a directory by creation time, that is, files created most recently will be listed first, and finally, older files will be listed. Any ideas how to implement this?

+4
source share
5 answers

Something like that

System.IO.FileInfo[] array = new System.IO.DirectoryInfo("directory_path").GetFiles(); Array.Sort(array, delegate(System.IO.FileInfo f1, System.IO.FileInfo f2) { return f2.CreationTimeUtc.CompareTo(f1.CreationTimeUtc); }); 
+6
source

I would probably use LINQ and a list ... something like this should work:

  DirectoryInfo di = new DirectoryInfo("YourPath"); List<FileInfo> files = di.GetFiles().OrderBy(f => f.CreationTime).ToList(); foreach (FileInfo file in files) { //do something } 
+4
source

Try to simulate like this:

 DirectoryInfo di = new DirectoryInfo("path to folder"); FileInfo[] files = di.GetFiles(); IOrderedEnumerable<FileInfo> enumerable = files.OrderBy(f => f.CreationTime); foreach (FileInfo info in enumerable) { // do stuff... } 
+2
source

EDIT: updated, here is a solution other than LINQ

 FileInfo[] files = new DirectoryInfo("directory").GetFiles(); Array.Sort(files, delegate(FileInfo f1, FileInfo f2) { return f2.CreationTime.CompareTo(f1.CreationTime); }); 

The above will be sorted by the last word. To sort by oldest and latest changes delegate: return f1.CreationTime.CompareTo(f2.CreationTime);


LINQ Solution:
 FileInfo[] files = new DirectoryInfo("directory").GetFiles(); var results = files.OrderByDescending(file => file.CreationTime); 

Use OrderByDescending to sort by the most recent CreationTime, otherwise use OrderBy to sort from oldest to new CreationTime.

+2
source
 DirectoryInfo baseFolder=new DirectoryInfo("folderName"); FileInfo[] files=baseFolder.GetFiles(""); for(int i=1; i<=files.Length;i++) for(int j=1; j<files.Length;j++) { if(files[j].CreationTime > files[j+1].CreationTime) { FileInfo f = files[j]; files[j] = files[j+1]; files[j+1] = f; } } 
-1
source

All Articles