C#文件和文件文件夹按时间、名称排序-顺序与倒序
对于文件和文件夹有多种排序方式,常用的就是按创建或修改时间、按文件名排序。在 C# 中,按时间和文件名排序都十分简单,用数组提供的排序方法 Array.Sort() 一行代码就可以搞定,当然也可以用常用的排序方法,如快速排序、冒泡排序等。
文件排序的方法也适用于文件夹,只是传递的变量不同。为了便于使用,将分别列出C#文件排序和文件夹排序四种常用方法,分别为:按名称顺序与倒序排序、按时间顺序与倒序。
一、C#文件排序
1、按名称顺序排列
/// <summary>
/// C#按文件名排序(顺序)
/// </summary>
/// <param name="arrFi">待排序数组</param>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 + ":<br />");
}
上面的代码是对 E 盘根目录下的所有文件排序,代码测试通过,可直接调用。
2、按名称倒序排列
/// <summary>
/// C#按文件名排序(倒序)
/// </summary>
/// <param name="arrFi">待排序数组</param>private void SortAsFileName(ref FileInfo[] arrFi)
{Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returny.Name.CompareTo(x.Name); });
}
调用方法跟顺序排列一样,就不举例了。
3、按创建时间顺序排列
/// <summary>
/// C#按创建时间排序(顺序)
/// </summary>
/// <param name="arrFi">待排序数组</param>private void SortAsFileCreationTime(ref FileInfo[] arrFi)
{Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returnx.CreationTime.CompareTo(y.CreationTime); });
}
调用方法与上同。
4、按创建时间倒序排列
/// <summary>
/// C#按创建时间排序(倒序)
/// </summary>
/// <param name="arrFi">待排序数组</param>private void SortAsFileCreationTime(ref FileInfo[] arrFi)
{Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returny.CreationTime.CompareTo(x.CreationTime); });
}
调用方法与上同。
二、C#文件夹排序
1、按文件夹名称顺序排列
/// <summary>
/// C#按文件夹名称排序(顺序)
/// </summary>
/// <param name="dirs">待排序文件夹数组</param>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 + ":<br />");
}
上述代码是对 E 盘根目录下的所有文件夹按名称顺序排列,代码也通过 Visual studio 2010 测试。
2、按文件夹名称倒序排列
/// <summary>
/// C#按文件夹名称排序(倒序)
/// </summary>
/// <param name="dirs">待排序文件夹数组</param>private void SortAsFolderName(ref DirectoryInfo[] dirs)
{Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returny.Name.CompareTo(x.Name); });
}
3、按文件夹创建时间顺序排列
/// <summary>
/// C#按文件夹夹创建时间排序(顺序)
/// </summary>
/// <param name="dirs">待排序文件夹数组</param>private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs)
{Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returnx.CreationTime.CompareTo(y.CreationTime); });
}
4、按文件夹创建时间倒序排列
/// <summary>
/// C#按文件夹创建时间排序(倒序)
/// </summary>
/// <param name="dirs">待排序文件夹数组</param>private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs)
{Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returny.CreationTime.CompareTo(x.CreationTime); });
}
如果要按文件或文件夹的最后修改时间排序,方法也是一样的,只需把 CreationTime 改为 LastWriteTime 即可。
C#文件和文件文件夹按时间、名称排序-顺序与倒序相关推荐
- php如何将读取到的mysql内容按发布的日期分割显示_php如何读取文件夹目录里的文件并按照日期,大小,名称排序...
最近用到的php读取文件夹目录里的文件,并按照日期,大小,名称排序,所以写了一个方法,备用. function dir_size($dir,$url){ $dh = @opendir($dir); ...
- android让文件按顺序列表,Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先...
排序规则 由于是中国人,习惯性看中文文件夹放前面比较顺眼,因此在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上, ...
- python文件名排序按windowsp_在SQLServer中如果实现Windows文件夹中按名称排序?算法是什么怎么Order By...
展开全部 SQL SERVER的排序规则平时使用不是很多,也许不少初学者还比较陌生,但有一个错误大家应是经常碰到e5a48de588b662616964757a686964616f3133326463 ...
- 【java】java sftp访问文件夹,java smb访问共享文件夹 按时间过滤查找文件 集成springboot
文章目录 java的sftp传输 sftp按时间过滤文件列表 sftp注意事项 java smb1.0传输 smb1.0按时间过滤文件列表 smb注意事项 java smb2.0/3.0传输(smbj ...
- outlook 脱机文件夹_在Outlook 2007中使用搜索文件夹节省时间
outlook 脱机文件夹 This article was written by MysticGeek, a tech blogger at the How-To Geek Blogs. 本文由Ho ...
- 扫描到服务器的文件在哪个文件夹,云服务器的文件在哪个文件夹
云服务器的文件在哪个文件夹 内容精选 换一换 登录Windows操作系统的弹性云服务器时,需使用密码方式登录.因此,用户需先根据创建弹性云服务器时使用的密钥文件,获取该弹性云服务器初始安装时系统生成的 ...
- linux 删除o开头的文件,linux实现除了某个文件或某个文件夹以外的全部删除
比如一个目录下有1,2,3,4,5这五个文件,现在我需要删除除了2以外的所有文件,那么我可以使用 find . ! -name 2 -exec rm -f {} \; 当然你还可以配合着 -maxde ...
- python跳转和创建目录,Python - 创建目录,切换目录,创建文件,复制文件,移动文件 ,删除文件夹及文件...
# -*- coding: utf-8 -*- """ Created on Mon Jan 9 00:35:43 2017 @author-Weixin: 95355 ...
- linux键盘设置的文件在哪个文件夹,「正点原子Linux连载」第十五章按键输入试验...
原标题:「正点原子Linux连载」第十五章按键输入试验 第十五章按键输入试验 前面几章试验都是讲解如何使用I.MX6U的GPIO输出控制功能,I.MX6U的IO不仅能作为输出,而且也可以作为输入.I. ...
最新文章
- Cacti脚本及模板
- java 中的几种 通用方法“
- Python 类的定义、继承及使用对象
- 机器学习经典书籍小结
- vi/vim基本使用方法
- Python练习 | Python3中的格式化输入输出之print函数
- Teradata首席分析官Bill Franks:数据分析变革犹如一场工业革命
- 这个帖子要收藏,以后用得着--python 实时获取子进程输出
- [SCM]源码管理 - perforce的集中授权+分布式团队+负载均衡+可扩展性+高可用性+灾难恢复...
- Android之升级OkHttp编译提示错误如下Using ‘body(): ResponseBody?’ is an error. moved to val
- 百万个小油馕跨越3000公里来支援!西安加油!
- Idea部署web项目 与 eclipse 的不同之处
- 弹窗修改数据 临时解决方法 + ajax
- 【翻译】Pro.Silverlight.5.in.CSharp.4th.Edition - 目录
- Redis由分布式锁造成的重大事故
- [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
- 医生- 患者 - 图标
- oracle linux 下载地址
- 民族传统体育类毕业论文文献都有哪些?
- 洛谷P5706 【深基2.例8】再分肥宅水__C++描述
热门文章
- C语言DP备忘计算指数N的斐波那契级数的算法(附完整源码)
- C++数据结构之链式结构
- QT的QStyle类的使用
- C++构造函数的分类及调用
- 本田da屏怎么进wince系统_东风本田LIFE“来福酱”上市
- 「Self-driving: Perception」多传感器融合之Camera、Lidar 雷达融合
- 使用Spring+Junit4.4进行测试
- java调用wcf控件的两种交互
- cxf 本地wsdl_cxf使用wsdl文件生成代码
- linux uvc协议_linux使用UVC采集数据