一、C#文件排序

  1、按名称顺序排列

  /// <summary>
  /// C#按文件名排序(顺序)
  /// </summary>
  /// <param name="arrFi">待排序数组</param>
  private void SortAsFileName(ref FileInfo[] arrFi)
  {
    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return x.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) { return y.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) { return x.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) { return y.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) { return x.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) { return y.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) { return x.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) { return y.CreationTime.CompareTo(x.CreationTime); });
  }

  如果要按文件或文件夹的最后修改时间排序,方法也是一样的,只需把 CreationTime 改为 LastWriteTime 即可。

C# 文件排序的更多相关文章

  1. FileFilter, FilenameFilter用法和文件排序

    FileFilter和FilenameFilter这两个类的用法都很简单,都只有一个方法 FileFilter /*** @param pathname The abstract pathname t ...

  2. MYSQL 磁盘临时表和文件排序

    因为Memory引擎不支持BOLB和TEXT类型,所以,如果查询使用了BLOB或TEXT列并且需要使用隐式临时表,将不得不使用MyISAM磁盘临时表,即使只有几行数据也是如此. 这会导致严重的性能开销 ...

  3. Linux文件排序和FASTA文件操作

    文件排序 seq: 产生一系列的数字; man seq查看其具体使用.我们这使用seq产生下游分析所用到的输入文件. # 产生从1到10的数,步长为1 $ seq 1 10 1 2 3 4 5 6 7 ...

  4. mysql查询优化--临时表和文件排序(Using temporary; Using filesort问题解决)

    先看一段sql: <span style="font-size:18px;">SELECT * FROM rank_user AS rankUser LEFT JOIN ...

  5. 小米开源文件管理器MiCodeFileExplorer-源码研究(8)-文件排序工具类FileSortHelper

    FileSortHelper的核心功能就是,对文件集合FileInfo排序.FileInfo有若干字段,根据字段定义了4种比较器Comparator.调用示例:Collections.sort(Lis ...

  6. mysql中的文件排序(filesort)

    在MySQL中的ORDER BY有两种排序实现方式: 1. 利用有序索引获取有序数据 2. 文件排序 在explain中分析查询的时候,利用有序索引获取有序数据显示Using index ,文件排序显 ...

  7. [CareerCup] 11.4 Sort the File 文件排序

    11.4 Imagine you have a 20 GB file with one string per line. Explain how you would sort the file. 这道 ...

  8. 基于visual Studio2013解决C语言竞赛题之0904文件排序

       题目

  9. Linux文件排序工具 sort 命令详解

    sort是排序工具,它完美贯彻了Unix哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只要文件中的数据足够规则,它几乎可以排出所有想要的排序结果,是一个非常优质的工具 ...

随机推荐

  1. learning_git_from_Liao

    安装 windows git 直接去官网就行,地址如下: https://git-scm.com 安装完成后,在开始菜单里找到"Git"->"Git Bash&qu ...

  2. [BZOJ 2002] [HNOI2010]弹飞绵羊(Link Cut Tree)

    [BZOJ 2002] [HNOI2010]弹飞绵羊(Link Cut Tree) 题面 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一 ...

  3. HTTPS原理(三次握手)

    第一步: 客户端向服务器发送HTTPS请求,服务器将公钥以证书的形式发送到客户端(服务器端存放私钥和公钥). 第二步: 浏览器生成一串随机数,然后用公钥对随机数和hash签名进行加密,加密后发送给服务 ...

  4. 实现一台Linux电脑连接另一台Linux(SSH实现linux之间的免密码登陆)

    怎么实现一台Linux电脑连接另一台Linux电脑? 首先查看是否安装ssh服务:systemctl status sshd.service 启动服务:systemctl start sshd.ser ...

  5. 使用Python基于OpenCV和Tesseract的OCR

    OCR OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方法将形 ...

  6. 生成ini文件

    setProfileString是无法直接生成ini文件的,如果不存在这个ini文件需要先创建,然后再setProfileString.示例代码//保存连接参数到配置文件if not FileExis ...

  7. 实现远程线程DLL注入

    ### 32位:远程线程注入 远程线程注入是最常用的一种注入技术,该技术利用的核心API是 `CreateRemoteThread()` 这个API可以运行远程线程,其次通过创建的线程调用 `Load ...

  8. C# 枚举转集合

    记录一下,方便自己下次使用. public class EnumHelper { /// <summary> /// 将枚举转为集合 /// </summary> /// &l ...

  9. luogu题解 P1099 【树网的核】树的直径变式+数据结构维护

    题目链接: https://www.luogu.org/problemnew/show/P1099 https://www.lydsy.com/JudgeOnline/problem.php?id=1 ...

  10. web-CSS居中大全

    居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...