一、C#文件排序
1、按名稱順序排列
///
/// C#按文件名排序(順序)
///
/// 待排序數組
private void SortAsFileName(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returnx.Name.CompareTo(y.Name); });
}
調用方法:
private void SortFiles()
{
string filePath = “E:\”;
DirectoryInfo di = new DirectoryInfo(filePath);
FileInfo[] arrFi = di.GetFiles(".");
SortAsFileName(ref arrFi);
for (int i = 0; i < arrFi.Length; i++)
Response.Write(arrFi[i].Name + “:
”);
}
上面的代碼是對 E 盤根目錄下的所有文件排序,代碼測試通過,可直接調用。
2、按名稱倒序排列
///
/// C#按文件名排序(倒序)
///
/// 待排序數組
private void SortAsFileName(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returny.Name.CompareTo(x.Name); });
}
調用方法跟順序排列一樣,就不舉例了。
3、按創建時間順序排列
///
/// C#按創建時間排序(順序)
///
/// 待排序數組
private void SortAsFileCreationTime(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returnx.CreationTime.CompareTo(y.CreationTime); });
}
調用方法與上同。
4、按創建時間倒序排列
///
/// C#按創建時間排序(倒序)
///
/// 待排序數組
private void SortAsFileCreationTime(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returny.CreationTime.CompareTo(x.CreationTime); });
}
調用方法與上同。
二、C#文件夾排序
1、按文件夾名稱順序排列
///
/// C#按文件夾名稱排序(順序)
///
/// 待排序文件夾數組
private void SortAsFolderName(ref DirectoryInfo[] dirs)
{
Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returnx.Name.CompareTo(y.Name); });
}
調用方法:
private void FolderSort()
{
string filePath = “E:\”;
DirectoryInfo di = new DirectoryInfo(filePath);
DirectoryInfo[] arrDir = di.GetDirectories();
SortAsFolderName(ref arrDir);
for (int i = 0; i < arrDir.Length; i++)
Response.Write(arrDir[i].Name + “:
”);
}
上述代碼是對 E 盤根目錄下的所有文件夾按名稱順序排列,代碼也通過 Visual studio 2010 測試。
2、按文件夾名稱倒序排列
///
/// C#按文件夾名稱排序(倒序)
///
/// 待排序文件夾數組
private void SortAsFolderName(ref DirectoryInfo[] dirs)
{
Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returny.Name.CompareTo(x.Name); });
}
3、按文件夾創建時間順序排列
///
/// C#按文件夾夾創建時間排序(順序)
///
/// 待排序文件夾數組
private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs)
{
Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returnx.CreationTime.CompareTo(y.CreationTime); });
}
4、按文件夾創建時間倒序排列
///
/// C#按文件夾創建時間排序(倒序)
///
/// 待排序文件夾數組
private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs)
{
Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returny.CreationTime.CompareTo(x.CreationTime); });
}
如果要按文件或文件夾的最後修改時間排序,方法也是一樣的,只需把 CreationTime 改爲 LastWriteTime 即可