C#インプリメンテーション指定したフォルダ内のファイルを変更時間で並べ替える

2802 ワード

string path="~/document/introduction/チーム管理制度/";            DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath(path));             FileInfo[] Files = dirinfo.GetFiles();             Array.Sort(Files, new FIleLastTimeComparer());//ページに最近更新された2つのファイルのダウンロードリンクfor(int i=0;i<2;i+){Literal literal=new Literal();literal.Text=";Panel 1.controls.Add(literal);//改行表示HyperLink=new HyperLink()を表示する;                 hypelink.NavigateUrl = path + Files[i].Name;                 hypelink.Text = Files[i].Name;                 Panel1.Controls.Add(hypelink);
           }
public class FIleLastTimeComparer:IComparer{public int Compare(FileInfo x,FileInfo y){returny.LastWriteTime.CompareTo(x.LastWriteTime);//減算//return x.LastWriteTime.CompareTo(y.LastWriteTime);//インクリメント}}
using System.IO;
private void button1_Click(object sender, EventArgs e)
{
//DirectoryInfo[] list = new DirectoryInfo(path).GetDirectories();//path:フォルダパス
Directory Info[]list=new Directory Info(@"D:ソフトウェア").GetDirectories();
Array.Sort(list, new DirectoryLastTimeComparer());
textBox1.Text = list[list.Length - 1].FullName;//フォルダのフルパスと名前
textBox1.Text = list[list.Length - 1].Name;//フォルダの名前
}
private void button2_Click(object sender, EventArgs e)
{
FileInfo[]list=new DirectoryInfo(@"D:ソフトウェア").GetFiles();
Array.Sort(list, new FIleLastTimeComparer());
textBox1.Text = list[list.Length - 1].FullName;//ファイルのフルパスと名前
textBox1.Text = list[list.Length - 1].Name;//ファイルの名前
}
}
//フォルダで最新のファイル読み込みを時間順に並べ替える
public class DirectoryLastTimeComparer : IComparer
{
#region IComparerメンバー
public int Compare(DirectoryInfo x, DirectoryInfo y)
{
return x.LastWriteTime.CompareTo(y.LastWriteTime);
//名前順
//return x.FullName.CompareTo(y.FullName);//増分
//return y.FullName.CompareTo(x.FullName);//げんすい
//修正日順
//return x.LastWriteTime.CompareTo(y.LastWriteTime);//増分
//return y.LastWriteTime.CompareTo(x.LastWriteTime);//げんすい
}
#endregion
}
//フォルダで最新のファイル読み込みを時間順に並べ替える
public class FIleLastTimeComparer : IComparer
{
#region IComparerメンバー
public int Compare(FileInfo x, FileInfo y)
{
return x.LastWriteTime.CompareTo(y.LastWriteTime);
}
#endregion
}
Arrayを使うことができますSort()メソッドを使用して呼び出します.もちろん、作成時間別にソートすることもできます.